这是我用来实例化 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 的内容 Pane 。
我在多个平台上测试过它,同样的事情发生在 windows 和 mac 上。
我做错了什么?
最佳答案
- 如果您希望您的内容 Pane 正好是 400x400,那么我会考虑将其 preferredSize 设置为 400x400(虽然我不喜欢强制首选大小,但在某些情况下,在内容 Pane 上它可能是可以接受的)。
- 在设置首选大小之后和显示框架之前,调用框架上的
pack()
。
这是最干净、最简单的解决方案,您不必关心边框插入。
关于java - Insets.top , left, bottom, right 全部为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711822/