可以呀
import javax.swing.*;
import java.awt.*;public class Frame1 extends JFrame {
  BorderLayout borderLayout1 = new BorderLayout();
  JPanel jPanel1 = new JPanel();
  JPanel jPanel2 = new JPanel();
  JTextArea jTextArea1 = new JTextArea();
  BorderLayout borderLayout2 = new BorderLayout();
  FlowLayout flowLayout1 = new FlowLayout();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();  public Frame1() {
    try {
      jbInit();
    }
    catch(Exception ex) {
      ex.printStackTrace();
    }
  }
  public static void main(String args[]){
    Frame1 f = new Frame1();
  }
  void jbInit() throws Exception {
    this.setSize(200,30);
    this.getContentPane().setLayout(borderLayout1);
    jTextArea1.setText("jTextArea1");
    jPanel1.setLayout(borderLayout2);
    jPanel2.setLayout(flowLayout1);
    jButton1.setText("jButton1");
    jButton2.setText("jButton2");
    this.getContentPane().add(jPanel1,  BorderLayout.CENTER);
    jPanel1.add(jTextArea1,  BorderLayout.CENTER);
    this.getContentPane().add(jPanel2,  BorderLayout.EAST);
    jPanel2.add(jButton2, null);
    jPanel2.add(jButton1, null);
    this.show();
  }
}
你是不是frame.pack();了????

解决方案 »

  1.   

    楼上的例子没有限定尺寸啊。JFrame中没有setMinimumSize的方法,可以用JPanel来做,下面是例子:
    import javax.swing.*;
    import java.awt.*;
    public class TestFrame {
      public static void main(String args[]){
        JFrame.setDefaultLookAndFeelDecorated(true);    JFrame frame = new JFrame("test frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    JPanel panel = new JPanel();
    /////////////////////////////////here
        panel.setMinimumSize(new Dimension(640,480));
        panel.setPreferredSize(new Dimension(640,480));
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
      }
    }
      

  2.   

    2楼的例子是规定了jframe的显示大小
      

  3.   

    如果是使用jbuilder的话,可以直接设置显示的大小!
      

  4.   

    只能通过setResizable(false)来固定窗口大小,想实现楼主所要求的功能得自己去扩展JFrame类,监听到JFrame小于xxx就不允许在有操作窗口变小的操作。
      

  5.   

    JBUILD做图形出来的工程,需要IMPORT不少JBUILD的包,烦
      

  6.   

    import java.awt.*;
    import java.awt.event.ComponentEvent;
    import java.awt.event.ComponentListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;import javax.swing.JFrame;public class MyFrame extends JFrame implements ComponentListener
    {
     static final int MIN_HEIGHT = 200;
         static final int MIN_WEIDTH = 200;

    public MyFrame(String str){
    super(str);
    setSize(640,480);
    this.addComponentListener(this);

    Panel p1=new Panel();
    p1.setLayout(null);

    Button b1,b2,b3;
    b1=new Button("big1");
    b1.setLocation(100,120);
    b1.setSize(80,20);
    p1.add(b1);
    this.getContentPane().add(p1);

    addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e){
       System.exit(0);
    }
     }
       );       
    setVisible(true);
    } public static void main(String args[])
    {
    MyFrame fr=new MyFrame("test");
    }

    public void componentHidden(ComponentEvent e){}

    public void componentMoved(ComponentEvent e){}

    public void componentResized(ComponentEvent e) 
    {
    setBounds(getX(),getY(),Math.max(MIN_WEIDTH,this.getWidth()),Math.max(MIN_HEIGHT,this.getHeight()));
    }

    public void componentShown(ComponentEvent e) {}
    }
      

  7.   

    改如下两个
    static final int MIN_HEIGHT = 200;
      static final int MIN_WEIDTH = 200;为
      static final int MIN_HEIGHT = 480;
      static final int MIN_WEIDTH = 640;