Tag: 空气绝缘布局

不可resize的窗口边框和位置

如果我创build不可resize的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); } } 我做错了什么或者这是一个错误? 我怎样才能显示2个不可重复的对话框,并没有重叠的边界? 编辑:添加屏幕截图(也将frame2更改为一个JDialog而不是一个JFrame) Aero On: Aeroclosures: 航空虽然可resize: