Edward Ruchevits
Edward Ruchevits

Reputation: 6696

Get actual JFrame size in swing after packing it

I've created JFrame and set its size to 800x600:

frame.setSize(800, 600);

Then I've created JPanel and inserted it in my JFrame:

JPanel panel = new JPanel();
frame.add(panel, BorderLayout.CENTER);

But it's actual dimensions are less then JFrame dimensions, because of title bar and frame border heights, which vary in different operating systems.


Then I've tried one more approach.

I've created frame without setting its size.

And after that I've created JPanel and set its preferred size:

panel.setPreferredSize(new Dimension(800, 600));

Then I've packed my Jframe with:

frame.pack();

How can I determine actual JFrame size now?

Upvotes: 4

Views: 1208

Answers (1)

Edward Ruchevits
Edward Ruchevits

Reputation: 6696

JFrame size can be determined by:

frame.getSize()

And Jframe content pane size (excluding title bar and system window borders) can be determined by:

frame.getContentPane().getSize()

Upvotes: 3

Related Questions