2

I have made a JFrame clearly through Java and set the size so that it is as large as possible on the screen. For instance I will use Toolkit.getDefaultToolkit().getScreenSize() to set the size of the JFrame, but because of the menu bar / dock etc. (in windows and mac) it gets resized to fit the screen. How would I be able to get this new dimension, which the JFrame defaults to?

mKorbel
  • 109,525
  • 20
  • 134
  • 319
user1654889
  • 319
  • 4
  • 13

2 Answers2

3

I don't know if I am understanding your question correctly. But if you want to get the size of the screen minus the menu bar / task bar, this answer could help.

If you simply want to get the new dimensions of your JFrame then use:

yourFrame.getSize();
Community
  • 1
  • 1
gmazlami
  • 684
  • 2
  • 9
  • 18
3

To maximize the JFrame, you add maximized both to the extended state.

frame.setExtendedState(frame.getExtendedState() | JFrame.MAXIMIZED_BOTH);

On Windows XP, this maximization takes into account the Windows status bar. However, the horizontal calculation is a few pixels off, and you won't see all of the side borders.

I've not tried this on Windows 7 or Unix.

You should also set a JFrame size, in case the user clicks on the maximize / restore size button (the middle button on a Windows JPanel).

Gilbert Le Blanc
  • 50,182
  • 6
  • 67
  • 111