Swing:设置JFrame内容区域的大小


问题内容

我正在尝试使JFrame的可用内容区域恰好为500x500。如果我这样做

public MyFrame() {
    super("Hello, world!");
    setSize(500,500);
}

…我得到一个全尺寸为500x500的窗口(包括标题栏等),在这里,我确实需要一个尺寸约为504x520的窗口来说明窗口边框和标题栏。我该如何实现?


问题答案:

您可以尝试以下几种方法:1-骇客:

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-更便携