Java 更改JInternalFrame的外观

Java 更改JInternalFrame的外观,java,windows,swing,jinternalframe,Java,Windows,Swing,Jinternalframe,我有一个JInternalFrame,它的行为非常奇怪。我目前正在Windows 8计算机上开发应用程序,并已将应用程序设置为以本机外观运行,这意味着我所有的JFrames和JDialog看起来都像本机Windows 8。JInternalFrame不同,出于某种原因,它似乎继承了Windows7 aero的外观和感觉 以下是一个屏幕截图: 您还将注意到关闭按钮已被略微切断。 我用于创建JInternalFrame的代码如下所示: editor = new BubbleEditor(app);

我有一个JInternalFrame,它的行为非常奇怪。我目前正在Windows 8计算机上开发应用程序,并已将应用程序设置为以本机外观运行,这意味着我所有的JFrames和JDialog看起来都像本机Windows 8。JInternalFrame不同,出于某种原因,它似乎继承了Windows7 aero的外观和感觉

以下是一个屏幕截图:

您还将注意到关闭按钮已被略微切断。 我用于创建JInternalFrame的代码如下所示:

editor = new BubbleEditor(app); // An extended JInternalFrame
editor.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);
app.add(editor); // app is a JFrame that contains a JDesktopPane
editor.setSize(200, 100);
editor.setLocation(100, 100);
editor.setVisible(false);
try {
editor.setSelected(true);
} catch (java.beans.PropertyVetoException e) {}

当我在一个新项目中尝试一个空白的JInternalFrame时,我会遇到完全相同的问题。我只是想知道是否有办法获得操作系统的实际本机外观,并将其应用于JInternalFrame。

您可能应该在提交时将其作为bug提交。出于好奇,如果删除/注释掉editor.putClientProperty行,是否会出现问题?我会这样做,我只是觉得我可能遗漏了一些东西。我也将在一些不同的操作系统上尝试它。如果没有editor.puClientProperty行,我仍然会遇到问题。它旨在将其设置为实用工具工具箱的样式,但这似乎也不起作用。不要忘记
pack()
each
JInternalFrame