不可调整窗口边界和定位如果我创建不可调整大小的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
提交
取消