46

How to maximize a JFrame through code?

Isuru
  • 30,617
  • 60
  • 187
  • 303
Tony Ogrewall
  • 471
  • 1
  • 4
  • 5

5 Answers5

79

Try this:

f.setExtendedState( f.getExtendedState()|JFrame.MAXIMIZED_BOTH );
Harry Joy
  • 58,650
  • 30
  • 162
  • 207
8

this works perfectly till java 7

public class TEST
{
    public static void main(String args[])
    {
        JFrame jf= new JFrame();
        jf.setVisible(true);
        jf.setExtendedState(JFrame.MAXIMIZED_BOTH);
        }
}
5

Yea the Toolkit solution ignores the windows task bar and uses the full screen which is not what you want.

For an immediate maximise of your form just add this in the JFrame constructor after the InitiateComponents() call.

this.setExtendedState(JFrame.MAXIMIZED_BOTH);

The class extends JFrame of course:

public class MyForm extends javax.swing.JFrame
Christoph
  • 47,569
  • 8
  • 87
  • 187
Swartblits
  • 51
  • 1
  • 1
3

setExtendedState(JFrame.MAXIMIZED_BOTH); is not working is java 7

You can try this code it works.

     Toolkit tk = Toolkit.getDefaultToolkit();  
     int xSize = ((int) tk.getScreenSize().getWidth());  
     int ySize = ((int) tk.getScreenSize().getHeight());  
     setSize(xSize,ySize);
ArchuSu
  • 31
  • 1
1

for similar problems with: http://bugs.sun.com/view_bug.do?bug_id=7177173

An issue on jdk7. Try to call .setExtendedState() not directly after .setVisable()

Jan S
  • 117
  • 3
  • 14