当前位置: 技术问答>java相关
如何设窗口的初始显示位置(要与分辩率无关)?
来源: 互联网 发布时间:2015-06-28
本文导语: 如何设窗口的初始显示位置(要与分辩率无关) 请教---- 1.如题:例如---我想初始显示一个窗口在特定位置(如靠右下角),可否保证这个位置无论是在800*640或1024*768(或更高一点)上都没太大的差异。这个窗...
如何设窗口的初始显示位置(要与分辩率无关)
请教----
1.如题:例如---我想初始显示一个窗口在特定位置(如靠右下角),可否保证这个位置无论是在800*640或1024*768(或更高一点)上都没太大的差异。这个窗口可能是message dialog,或由JFrame定义的。看过document,发现可能是应用setlocation(),和一个setbounds()之类的methods来实现,实现思想是先设定bounds,然后再用setlocation来定位。我也不知对不对。不是的话,应如何做,讲一下思路和应用哪些methods。
2.还有,我想将一个窗口(不是YES/NO的窗口)的显示初始值,设为在正中间(center)显示,但好象没有一个值或methods可直接设的。难道这也要用上面那个方法来取中间显示?
请教----
1.如题:例如---我想初始显示一个窗口在特定位置(如靠右下角),可否保证这个位置无论是在800*640或1024*768(或更高一点)上都没太大的差异。这个窗口可能是message dialog,或由JFrame定义的。看过document,发现可能是应用setlocation(),和一个setbounds()之类的methods来实现,实现思想是先设定bounds,然后再用setlocation来定位。我也不知对不对。不是的话,应如何做,讲一下思路和应用哪些methods。
2.还有,我想将一个窗口(不是YES/NO的窗口)的显示初始值,设为在正中间(center)显示,但好象没有一个值或methods可直接设的。难道这也要用上面那个方法来取中间显示?
|
//======================== 置中Frame 的方法 =================
private void centerWin(){
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
Dimension labelSize = jWindow.getPreferredSize();
int labelWidth = labelSize.width;
int labelHeight = labelSize.height;
jWindow.setLocation(screenSize.width/2-(labelWidth/2),screenSize.height/2-(labelHeight/2));
jWindow.pack();
}
//---------------------------------
jWindow 可以使任何 Frame
private void centerWin(){
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
Dimension labelSize = jWindow.getPreferredSize();
int labelWidth = labelSize.width;
int labelHeight = labelSize.height;
jWindow.setLocation(screenSize.width/2-(labelWidth/2),screenSize.height/2-(labelHeight/2));
jWindow.pack();
}
//---------------------------------
jWindow 可以使任何 Frame
|
可以自己写个方法,getToolkit().getScreenSize()(可能不一定这样写,大体是这样,得到屏幕大小),然后屏幕长-窗口长再除以2,宽也同样。这样就在中间了。就是相对坐标。
|
1:Dimension screenSize = getToolkit().getScreenSize();
Dimension mainFrameSize = getSize();
setLocation(screenSize.width - mainFrameSize.width , screenSize.height - mainFrameSize.height );
2:你的窗口是dialog还是JOptionPane.show()出来的?
Dimension mainFrameSize = getSize();
setLocation(screenSize.width - mainFrameSize.width , screenSize.height - mainFrameSize.height );
2:你的窗口是dialog还是JOptionPane.show()出来的?