不可調整窗口邊界和定位如果我創建不可調整大小的jFrames,并且windows aero已啟用。setLocation似乎沒有正確考慮窗口邊框。在下面的代碼中,我希望第二個幀位于第一個幀的右邊,而邊界是重疊的。如果Aero被禁用,或者如果我刪除對setResizable這是按預期進行的。import java.awt.Rectangle;import javax.swing.JFrame;public class FrameBorders {public static void main(String[] args) {
JFrame frame1 = new JFrame("frame 1");
JFrame frame2 = new JFrame("frame 2");
frame1.setResizable(false);
frame2.setResizable(false);
frame1.setVisible(true);
Rectangle bounds = frame1.getBounds();
frame2.setLocation(bounds.x+bounds.width, bounds.y);
frame2.setVisible(true);}}我是做錯什么了還是這是個蟲子?如何在沒有重疊邊界的情況下并排顯示兩個不可調整的對話框?
3 回答

慕尼黑8549860
TA貢獻1818條經驗 獲得超11個贊

慕斯709654
TA貢獻1840條經驗 獲得超5個贊
就調整大小而言,這是一個很好的點(如果單獨考慮,這將是對我在評論中提出的問題的一個很好的回答),但我最初的問題是定位。假設使用Pack()/沒有文本/大小不會改變甚至是空對話框/幀,就像我自己設計的示例一樣。
添加回答
舉報
0/150
提交
取消