2012-10-27 16 views
7

ho creato un JFrame in netbeans. Ma quando eseguo il programma, la dimensione di Jframe è troppo piccola. ecco il mio codice.JFrame è troppo piccolo

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) di default accettando solo PreferredSize, – mKorbel

+0

* "dimensioni del fotogramma è troppo piccola "* Inserisci componenti, quindi chiama' pack() '. La cornice diventerà la più piccola dimensione che deve essere, al fine di visualizzare i componenti al suo interno. –

risposta

8

È possibile utilizzare frame.setSize(width, height) al fine di impostare le dimensioni o frame.setBounds(x, y, width, height) per impostare sia la posizione e le dimensioni.

Una scelta migliore sarebbe chiamare frame.pack() dopo aver aggiunto alcuni componenti al riquadro del contenuto.

+0

SÌ! ha funzionato :). Grazie. – Sam

2

Prova in questo modo ...

Utilizzare il metodo setSize(width, height) di 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

Che cos'è 'f.visible()'? –

+0

f è l'istanza della classe Myframe che ha esteso JFrame –

+1

No no cosa è visibile? Quale metodo è questo? –

0

Se si vuole massimizzare lo si potrebbe provare a

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

altro per alcuni specifici uso dimensioni

this.setSize(width,height); 
0

Hai solo bisogno di aggiungere una linea di linea in modo che si può dare la tua La linea è

frame.setSize(300,300); 

Ecco il codice completo:

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(); 
    } 
    }); 
} 
} 
Problemi correlati