【发布时间】:2014-01-02 09:03:21
【问题描述】:
我在启动应用程序时显示“登录内部框架”。但问题是它没有显示在应用程序屏幕的中心。
我获取桌面实际大小和JInternalFrame设置位置的代码如下
private void new_init() {
LoginInternal login = new LoginInternal(jMenuBar1);
Dimension desktopSize = this.getSize();
Dimension jInternalFrameSize = login.getSize();
System.out.println("desktopSize: "+desktopSize+" jInternalFrameSize:" +jInternalFrameSize );
jMenuBar1.setVisible(false);
login.setLocation((desktopSize.width - jInternalFrameSize.width)/2,(desktopSize.height- jInternalFrameSize.height)/2);
jDesktopPane1.add(login);
login.show();
}
我的屏幕分辨率是 1366x768。 但根据我放的印刷品
"desktopSize: java.awt.Dimension[width=1024,height=768] jInternalFrameSize:java.awt.Dimension[width=398,height=286]"
我得到的分辨率是 1024x768。 在 JDesktopPane 的预初始化代码中,我设置了“setExtendedState (JFrame.MAXIMIZED_BOTH);”
现在我将两者都以最大化模式打开,但登录框架没有居中,因为它采用分辨率为“[width=1024,height=768]”的居中逻辑。如果它采用我当前的屏幕分辨率,我认为它会居中。
我希望我说清楚了。我哪里出错了?
【问题讨论】:
标签: java netbeans jframe resolution jdesktoppane