在JDK11上运行时,Java Swing Windows LookAndFeel问题

时间:2019-06-17 05:15:42

标签: java swing java-8 java-11

我对一个旧的Java Swing应用程序有问题,该应用程序可以在JRE8上运行良好。但是,当我使用JDK11(具有Java 8兼容级别)构建应用程序并在JRE11上运行该应用程序时,我遇到了JInternalFrame标题栏的显示问题。

问题是JInternalFrame标题栏的外观。在JRE8中,一切看起来都不错,但是在JRE11下,标题栏较小,“关闭”,“最大化”和“最小化”按钮有些“被挤压”。在JRE11中,整个框架周围也没有适当的边框,看起来标题栏会比框架本身更宽。

我正在使用默认的系统外观,并在Windows 10上运行该应用程序。

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

在JRE8中的外观:

enter image description here

以及它在JRE11中的外观:

enter image description here

我尝试使用以下代码设置标题栏的尺寸:

((javax.swing.plaf.basic.BasicInternalFrameUI) getUI()).getNorthPane().setPreferredSize(new Dimension(103, 33));

但是我只能使标题栏变高-不可能使最小/最大/关闭按钮看起来正确。

我还尝试过比较UIManager.defaults()在8和11之间,但对于InternalFrame。*属性,两个Java版本似乎具有相同的值。

有人对此问题有任何想法吗?

0 个答案:

没有答案