我正在开发一个带有主面板的 java 应用程序,我在其中添加了一个JDesktopPane
. 用户点击JButton
,会显示一个JInternalFrame
。我的问题是,如果我使用 Mac OSx 外观和感觉,则JDesktopPane
显示正确大小JInternalFrame
,如果我使用其他外观和感觉,它将显示JInternalFrame
在屏幕尺寸中。这就是我所做的:
在主要JPanel
:
jDesktopPane1 = new JDesktopPane();
setContentPane(jDesktopPane1);
当用户点击JButton(s)
:
public void addInDesktop(JInternalFrame frame){
frame.setVisible(true);
try {
jDesktopPane1.setSize(frame.getSize());
jDesktopPane1.setPreferredSize((frame.getSize()));
System.out.println(frame.getSize().toString());
System.out.println(jDesktopPane1.getSize().toString());
jDesktopPane1.add(frame);
frame.moveToFront();
frame.setSelected(true);
} catch (PropertyVetoException e) {
e.printStackTrace();
}
}
说我 JDesktopPane 和 JInternalFrame的System.out.println
尺寸是一样的,但是为什么它会以全屏尺寸显示 JInternalFrame 呢?