JFrame大小太小

8
我在NetBeans中创建了一个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
Swing JComponents默认只接受PreferredSize大小。 - mKorbel
"框架大小太小了"。将组件放入其中,然后调用 pack()。框架将变为它需要的最小尺寸,以便在其中显示组件。 - Andrew Thompson
5个回答

9

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

更好的选择是在将组件添加到内容面板后调用frame.pack()


2

可以尝试这种方式...

使用 JFramesetSize(width, height) 方法。

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

f是继承JFrame的Myframe类的实例。 - Kumar Vivek Mitra
1
不好意思,这是什么可见性?这是哪个方法? - nIcE cOw
@GagandeepBali,对不起,我的意思是setVisible(true);。我已经更正了...抱歉给你带来麻烦... - Kumar Vivek Mitra

0

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

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

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

this.setSize(width,height);

0

你只需要添加一行代码,就可以为你的框架设置大小。这行代码是:

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

-2

你必须拥有一个公共组件方法,例如:

public gestion_name_of_class() {
    initComponents();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接