Swing:设置JFrame内容区域大小
我正在尝试制作一个可用内容区域正好为 500x500 的 JFrame.如果我这样做......
I'm trying to make a JFrame with a usable content area of exactly 500x500. If I do this...
public MyFrame() {
super("Hello, world!");
setSize(500,500);
}
... 我得到一个全尺寸为 500x500 的窗口,包括标题栏等,我真的需要一个大小为 504x520 的窗口来说明窗口边框和标题栏.我怎样才能做到这一点?
... I get a window whose full size is 500x500, including the title bar, etc., where I really need a window whose size is something like 504x520 to account for the window border and titlebar. How can I achieve this?
推荐答案
你可以尝试几件事:1 - 一个黑客:
you may try couple of things: 1 - a hack:
public MyFrame(){
JFrame temp = new JFrame;
temp.pack();
Insets insets = temp.getInsets();
temp = null;
this.setSize(new Dimension(insets.left + insets.right + 500,
insets.top + insets.bottom + 500));
this.setVisible(true);
this.setResizable(false);
}
2- 或将 JPanel 添加到框架的内容窗格中,然后只需设置首选/最小尺寸将 JPanel 的大小改为 500X500,调用 pack()
2- or Add a JPanel to the frame's content pane and Just set the preferred/minimum size of the JPanel to 500X500, call pack()
- 2- 更便携
相关文章