[code]
import java.applet.*;
import java.awt.*;
import java.awt.event.*;public class MyJsq extends JFrame
{
JTextField t=new JTextField(20);
  JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bdian,bjia,bjian,bchen,bchu,bdeng,bce;
  public void init()
  {
   BorderLayout text=new BorderLayout();
    text.add(t,North);
   GridLayout jsq=new GridLayout();
   jsq.setLayout(4,4);
    b1=new JButton("1");
    b2=new JButton("2");
    b3=new JButton("3");
    b4=new JButton("4");
    b5=new JButton("5");
    b6=new JButton("6");
    b7=new JButton("7");
    b8=new JButton("8");
    b9=new JButton("9");
    b0=new JButton("0");
    bdian=new JButton(".");
    bjia=new JButton("+");
    bchu=new JButton("/");
    bchen=new JButton("*");
    bdeng=new JButton("=");
    bjian=new JButton("-");
    bce=new JButton("CE");
    add(b7);
    add(b8);
    add(b9);
    add(bjia);
    add(b4);
    add(b5);
    add(b6);
    add(bjian);
    add(b1);
    add(b2);
    add(b3);
    add(bchen);
    add(b0);
    add(bce);
    add(bdeng);
    add(bjia);
    add(jsq,South);
  }
}
[/code]
吧GridLayout嵌入一个BorderLayout中
怎么写啊

解决方案 »

  1.   


    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;public class MyJsq extends JFrame
    {
    JTextField t=new JTextField(20);
      JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bdian,bjia,bjian,bchen,bchu,bdeng,bce;
      public void init()
      {
       BorderLayout text=new BorderLayout();
        text.add(t,North);
       GridLayout jsq=new GridLayout();
       jsq.setLayout(4,4);
        b1=new JButton("1");
        b2=new JButton("2");
        b3=new JButton("3");
        b4=new JButton("4");
        b5=new JButton("5");
        b6=new JButton("6");
        b7=new JButton("7");
        b8=new JButton("8");
        b9=new JButton("9");
        b0=new JButton("0");
        bdian=new JButton(".");
        bjia=new JButton("+");
        bchu=new JButton("/");
        bchen=new JButton("*");
        bdeng=new JButton("=");
        bjian=new JButton("-");
        bce=new JButton("CE");
        add(b7);
        add(b8);
        add(b9);
        add(bjia);
        add(b4);
        add(b5);
        add(b6);
        add(bjian);
        add(b1);
        add(b2);
        add(b3);
        add(bchen);
        add(b0);
        add(bce);
        add(bdeng);
        add(bjia);
        add(jsq,South);
      }
    }
      我写的 
    但是不对
      

  2.   

    楼主写得很乱,看看这个是不是你要的。
    把按钮写在一个GridLayout布局的JPanel上,然后把JPanel与JTextField放到BorderLayout布局的JFrame上。import java.awt.BorderLayout;
    import java.awt.GridLayout;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;public class MyJsq extends JFrame {
    JTextField t = new JTextField(20);
    JPanel buttonPanel = null;
    JButton b1, b2, b3, b4, b5, b6, b7, b8, b9, b0, bdian, bjia, bjian, bchen,
    bchu, bdeng, bce;
    public MyJsq() {
    super();
    init();
    } public void init() {
    this.setLayout(new BorderLayout());
    this.add(t, BorderLayout.NORTH);
    this.add(getPanel(),BorderLayout.CENTER);
    this.setSize(300, 300);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    pack();
    this.setVisible(true);
    }

    private JPanel getPanel() {
    if(buttonPanel == null) {
    buttonPanel = new JPanel();
    buttonPanel.setLayout(new GridLayout(4,4));
    b1 = new JButton("1");
    b2 = new JButton("2");
    b3 = new JButton("3");
    b4 = new JButton("4");
    b5 = new JButton("5");
    b6 = new JButton("6");
    b7 = new JButton("7");
    b8 = new JButton("8");
    b9 = new JButton("9");
    b0 = new JButton("0");
    bdian = new JButton(".");
    bjia = new JButton("+");
    bchu = new JButton("/");
    bchen = new JButton("*");
    bdeng = new JButton("=");
    bjian = new JButton("-");
    bce = new JButton("CE");
    buttonPanel.add(b7);
    buttonPanel.add(b8);
    buttonPanel.add(b9);
    buttonPanel.add(bjia);
    buttonPanel.add(b4);
    buttonPanel.add(b5);
    buttonPanel.add(b6);
    buttonPanel.add(bjian);
    buttonPanel.add(b1);
    buttonPanel.add(b2);
    buttonPanel.add(b3);
    buttonPanel.add(bchen);
    buttonPanel.add(b0);
    buttonPanel.add(bce);
    buttonPanel.add(bdeng);
    buttonPanel.add(bjia);
    }
    return buttonPanel;
    }

    public static void main(String[] args) {
    new MyJsq();
    }
    }
      

  3.   

    帮我看一下这个
    JPanel   buttonPanel   =   null; 
    这一句什么意思
    super(); 
    init(); 这个也看不懂
      

  4.   

    JPanel       buttonPanel       =       null;   初始化为null,即未指向有有实例
    super();  //执行超类的构造函数
    init();  //执行自定义的方法
      

  5.   

    一个容器一次只能有一种布局方式,要实现复杂的布局可以使用JPanel等控件,这样我们就可以在Panel中使用另外的布局方式,最后将他add进其他容器就OK了