这是我用来实例化JFrame的代码示例:
public class TestFrame{
public static void main(String[] args){
JFrame frame = new JFrame();
Insets insets = frame.getInsets();
frame.setSize(new Dimension(insets.right + insets.left + 400, insets.bottom + insets.top + 400));
System.out.println(String.format("Top = %d \nBottom = %d \nLeft = %d \n Right
= %d", insets.top, insets.bottom, insets.left, insets.right));
frame.setResizable(false);
frame.setVisible(true);
}
}
帧显示良好,但所有插图似乎都等于零。我需要知道顶部标题栏的大小,因为我想要一个尺寸为400x400的内容窗格。
我在多个平台上进行了测试,在Windows和Mac上也发生了同样的事情。
我究竟做错了什么 ?
最佳答案
如果您希望内容窗格的尺寸恰好为400x400,则可以考虑将其preferredSize设置为400x400(尽管我不希望在内容窗格上强制设置首选大小,但在某些情况下可以接受)。
设置该首选大小后,在显示框架之前,请在框架上调用pack()
。
这是最干净,最简单的解决方案,您不必关心边框插图。