JFrame大小太小

问题描述:

我在netbeans中创建了一个JFrame。但是当我运行该程序时,Jframe的大小太小了。 这是我的代码。JFrame大小太小

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](http://docs.oracle.com/javase/tutorial/uiswing/components)默认只接受PREFERREDSIZE, – mKorbel

+0

*“帧大小太小“*把组件放在里面,然后调用'pack()'。该框架将成为它需要的最小尺寸,以便显示其中的组件。 –

您可以使用frame.setSize(width, height)以设置其大小或frame.setBounds(x, y, width, height)的同时设置位置和大小。

将某些组件添加到其内容窗格后,更好的选择是调用frame.pack()

+0

是的!有效 :)。谢谢。 – Sam

试试这个方法...

使用setSize(width, height)方法的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

什么是'f.visible()'? –

+0

f是扩展了JFrame的类Myframe的实例 –

+1

不不可见?这是哪种方法? –

如果你想最大化你可以尝试

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

否则,对于一些特定的大小使用

this.setSize(width,height); 

你只需要添加一行行,以便你可以给你该行是

frame.setSize(300,300); 

这里是全码:

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