package jisuanqi;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
//import java.lang.*;
public class Calculator extends JFrame { public static void main(String[] args)
{
Calculator frame=new Calculator();
frame.setTitle("计算器");
frame.setSize(440, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
JTextField result=new JTextField();
         
         //l1.add(result);
result.setHorizontalAlignment(JTextField.RIGHT );
frame.setLayout(new BorderLayout(15,15));
JButton b1=new JButton("1");

JButton b2=new JButton("2");
JButton b3=new JButton("3");
JButton b4=new JButton("4");
JButton b5=new JButton("5");
JButton b6=new JButton("6");
JButton b7=new JButton("7");
JButton b8=new JButton("8");
JButton b9=new JButton("9");
JButton b0=new JButton("0");
JButton b00=new JButton("00");
b00.setLayout(null);
b00.setBounds(36, 72, 63, 20);
    b1.setLayout(null);
b1.setBounds(3, 3, 30, 20);
b2.setLayout(null);
b2.setBounds(36, 3, 30, 20);
b3.setLayout(null);
b3.setBounds(69, 3, 30, 20);
b4.setLayout(null);
b4.setBounds(3, 26, 30, 20);
b5.setLayout(null);
b5.setBounds(36, 26, 30, 20);
b6.setLayout(null);
b6.setBounds(69, 26, 30, 20);
b7.setLayout(null);
b7.setBounds(3, 49, 30, 20);
b8.setLayout(null);
b8.setBounds(36, 49, 30, 20);
b9.setLayout(null);
b9.setBounds(69, 49, 30, 20);
b0.setLayout(null);
b0.setBounds(3, 72, 30, 20);

JPanel l1=new JPanel(null);
// new GridLayout(4,3,5,10)
             l1.add(b1);
 l1.add(b2);
 l1.add(b3);
 l1.add(b4);
 l1.add(b5);
 l1.add(b6);
 l1.add(b7);
 l1.add(b8);
 l1.add(b9);
 l1.add(b0);
 l1.add(b00);
 

frame.add(result,BorderLayout.NORTH );
frame.add(l1,BorderLayout.WEST);
b1.setVisible(true);
l1.setVisible(true);
frame.setVisible(true);




}
}

解决方案 »

  1.   

    给按钮的可用和可见属性赋值TRUE试试
      

  2.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;public class Calculator {    public static void main(String[] args)
        {
            JFrame frame= new JFrame("计算器");
            frame.setSize(440, 300);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
            JTextField result=new JTextField();        result.setHorizontalAlignment(JTextField.RIGHT );        JButton b1=new JButton("1");        JButton b2=new JButton("2");
            JButton b3=new JButton("3");
            JButton b4=new JButton("4");
            JButton b5=new JButton("5");
            JButton b6=new JButton("6");
            JButton b7=new JButton("7");
            JButton b8=new JButton("8");
            JButton b9=new JButton("9");
            JButton b0=new JButton("0");
            JButton b00=new JButton("00");        b00.setBounds(36, 72, 63, 20);        b1.setBounds(3, 3, 30, 20);        b2.setBounds(36, 3, 30, 20);        b3.setBounds(69, 3, 30, 20);        b4.setBounds(3, 26, 30, 20);        b5.setBounds(36, 26, 30, 20);        b6.setBounds(69, 26, 30, 20);        b7.setBounds(3, 49, 30, 20);        b8.setBounds(36, 49, 30, 20);        b9.setBounds(69, 49, 30, 20);        b0.setBounds(3, 72, 30, 20);        JPanel l1=new JPanel(null);        l1.add(b1);
            l1.add(b2);
            l1.add(b3);
            l1.add(b4);
            l1.add(b5);
            l1.add(b6);
            l1.add(b7);
            l1.add(b8);
            l1.add(b9);
            l1.add(b0);
            l1.add(b00);        frame.add(result,BorderLayout.NORTH );
            frame.add(l1,BorderLayout.CENTER);
            b1.setVisible(true);
            l1.setVisible(true);
            frame.setVisible(true);
        }
    }JFrame 默认就是 BorderLayout,没必要再设置。
    JButton 设置布局管理器没意义。
    JButton的大小设置的太小了。
    把放置JButton的JPanel 放在 JFrame的 BorderLayout.CENTER
      

  3.   

    没必要继承JFrame,直接使用JFrame就可以了。