4

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?

Edward Ruchevits
  • 6,411
  • 12
  • 51
  • 86
  • 2
    don't call setXXSize, ever:http://stackoverflow.com/questions/7229226/should-i-avoid-the-use-of-setpreferredmaximumminimumsize-methods-in-java-swi/7229519#7229519 – Harmeet Singh Aug 14 '12 at 16:39

1 Answers1

3

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()
Edward Ruchevits
  • 6,411
  • 12
  • 51
  • 86