java Swing如何让窗口更好地居中显示?无论是顶层组件JFrame还是对话框JDialog,让他们的窗口居中显示是一个很常见的问题,因为他们默认总是从左上角弹出来,这也太不爽了!对于这个问题,JBuilder应用程序生成向导给出了解决方案:
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height)
frameSize.height = screenSize.height;
if (frameSize.width > screenSize.width)
frameSize.width = screenSize.width;
frame.setLocation((screenSize.width-frameSize.width)/2,screenSize.height-frameSize.height) / 2);
这个方法对于大多数窗口组件来说都足够了,但是还有其他问题存在,比如说分辨率和显示器的尺寸都会导致应用程序窗口“变形”,明明在17寸显示器1024*768分辨率下显示好好的窗口到了19寸的1280*800的 宽屏下就会被“拉”得很“长”。于是,虽然有布局管理器帮我们管理拉伸后组件的放置,但仍然解决不了拉长后带来的美观问题。我的经验是,对于某些窗口,由 于它被“拉长”之后由于其内部组件之间的间隙变大,会显得很难看。所以应该为他们设定一个最合适的显示大小。在居中显示的时候只调整位置而不改变大小,这 样就不会影响窗口的美观。所以我们只需要对上面的代码小