Java Swing Windows在JDK11上运行时的外观问题

Java Swing Windows在JDK11上运行时的外观问题,java,swing,java-8,java-11,Java,Swing,Java 8,Java 11,我对一个旧的JavaSwing应用程序有一个问题,它在JRE8上运行得很好。但是,当我使用JDK11(Java 8合规级别)构建应用程序并在JRE11上运行它时,我遇到了JInternalFrame标题栏的显示问题 问题在于JInternalFrame标题栏的外观。在JRE8中,一切看起来都很好,但在JRE11下,标题栏更小,“关闭”、“最大化”和“最小化”按钮有些“挤压”。在JRE11中,整个框架周围也没有合适的边框,看起来标题栏比框架本身更宽 我使用默认的系统外观,并在Windows 10上

我对一个旧的JavaSwing应用程序有一个问题,它在JRE8上运行得很好。但是,当我使用JDK11(Java 8合规级别)构建应用程序并在JRE11上运行它时,我遇到了JInternalFrame标题栏的显示问题

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

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

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
它在JRE8中的外观:

以及它在JRE11中的外观:

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

((javax.swing.plaf.basic.BasicInternalFrameUI)getUI()).getNorthPane().setPreferredSize(新维度(103,33));
但我只设法使标题栏更高-无法使最小/最大/关闭按钮看起来正确

我还尝试比较8和11之间的UIManager.defaults(),但是关于InternalFrame.*属性,这两个Java版本的值似乎相同

有人对这个问题有什么想法吗?

您是否按照这里的建议打包了它或设置了它的大小?我没有使用pack(),我使用setSize()设置大小。您是打包了它还是按照这里的建议设置了它的大小?我没有使用pack(),而是使用setSize()设置大小