2011-03-10 8 views
37

Jak zmaksymalizować JFrame za pomocą kodu?Jak zmaksymalizować JFrame za pomocą kodu?

+0

Czy próbowałeś spojrzeć na metody zdefiniowane dla JFrame i jego superklas? –

+2

@Andrew: Tak, sir, zrobiłem to i jest to zbyt skomplikowane dla moich mrocznych mózgów. –

+0

Heres powiązany [przykład] (http://stackoverflow.com/questions/5207711). – trashgod

Odpowiedz

64

Spróbuj tego:

f.setExtendedState(f.getExtendedState()|JFrame.MAXIMIZED_BOTH); 
+0

Po znalezieniu go znalazłem to samo. Jednak powyższy kod nie działa z nowszymi wersjami Java. –

+0

'JFrame' nie ma tego członka ...' MAXIMIZED_WHATEVER'. –

+0

@Tony: Z której wersji Java korzystasz? –

4

to działa doskonale do Java 7

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

setExtendedState (JFrame.MAXIMIZED_BOTH); nie działa to java 7

Możesz spróbować tego kodu, który działa.

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

hmm ... MAXIMIZED_BOTH działa dobrze dla mnie, w każdej najnowszej wersji. Jaki jest twój system operacyjny? BTW: problem z ręcznym wymiarowaniem polega na tym, że pasek zadań nie jest uwzględniany (przynajmniej niezawodnie). – kleopatra

+0

lepsze wykorzystanie setPreferredSize – user2053898

5

Tak, rozwiązanie Toolkit ignoruje pasek zadań systemu Windows i używa pełnego ekranu, który nie jest tym, czego potrzebujesz.

Aby natychmiast zmaksymalizować formularz, po prostu dodaj to w konstruktorze JFrame po wywołaniu InitiateComponents().

this.setExtendedState(JFrame.MAXIMIZED_BOTH); 

Klasa rozciąga JFrame przedmiotu:

public class MyForm extends javax.swing.JFrame 
Powiązane problemy