2012-10-27 16 views
7

Utworzono JFrame w netbeans. Ale kiedy uruchamiam program, rozmiar Jframe jest zbyt mały. Oto mój kod.Rozmiar JFrame jest zbyt mały

import javax.swing.JFrame;  

public class Window { 

    private static void demo() 
    { 
     JFrame frame =new JFrame(); 
     frame.setVisible(true); 
    } 
    public static void main(String[] args) { 
     javax.swing.SwingUtilities.invokeLater(new Runnable(){ 
     public void run() 
     { 
      demo(); 
     } 
     }); 
    } 
} 

And the output window looks like this.

+1

[JComponents Swing] (http://docs.oracle.com/javase/tutorial/uiswing/components) domyślnie akceptował PreferredSize, – mKorbel

+0

* "rozmiar ramki jest zbyt mała "* Umieść w nim komponenty, a następnie wywołaj' pack() '. Ramka stanie się najmniejszym rozmiarem, jakiego potrzebuje, aby wyświetlić elementy wewnątrz niej. –

Odpowiedz

8

Można użyć frame.setSize(width, height) aby ustawić jego rozmiar lub frame.setBounds(x, y, width, height) ustawiania zarówno lokalizację i rozmiar.

Lepszym wyborem byłoby zadzwonić pod numer frame.pack() po dodaniu niektórych komponentów do panelu zawartości.

+0

TAK! zadziałało :). Dzięki. – Sam

2

Spróbuj w ten sposób ...

Zastosowanie metody setSize(width, height) z JFrame.

public class Myframe extends JFrame{ 

    public Myframe(){  
     this.setSize(300,300);  
    } 

public static void main(String[] args){ 

    EventQueue.invokeLater(new Runnable(){ 

      public void run(){   
      Myframe f = new Myframe("Frame"); 
      f.setVisible(true);  
      } 
     }); 
    }  
} 
+1

Co to jest 'f.visible()'? –

+0

f to instancja klasy Myframe, która rozszerza ramkę JFrame –

+1

Nie, co jest widoczne? Która to metoda? –

0

Jeśli chcesz zmaksymalizować można spróbować

this.setVisible(false); 
    this.setExtendedState(MAXIMIZED_BOTH); 
    this.setVisible(true); 
    this.setResizable(false); 

Else jakiegoś konkretnego zastosowania wielkości

this.setSize(width,height); 
0

wystarczy dodać jedną linię linii tak, że można dać ramka rozmiar. Linia to

frame.setSize(300,300); 

Oto pełny kod:

import javax.swing.JFrame;  

public class Window { 

private static void demo() 
{ 
    JFrame frame =new JFrame(); 
    frame.setSize(300,300); 
    frame.setVisible(true); 
} 
public static void main(String[] args) { 
    javax.swing.SwingUtilities.invokeLater(new Runnable(){ 
    public void run() 
    { 
     demo(); 
    } 
    }); 
} 
} 
Powiązane problemy