igul222 igul222 - 6 months ago 49
Java Question

Swing: set JFrame content area size

I'm trying to make a JFrame with a usable content area of exactly 500x500. If I do this...

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

... 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?


you may try couple of things: 1 - a hack:

public MyFrame(){
 JFrame temp = new JFrame;
 Insets insets = temp.getInsets();
 temp = null;
 this.setSize(new Dimension(insets.left + insets.right + 500,
             insets.top + insets.bottom + 500));

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- is more portable