import   java.awt.BorderLayout; 
import   java.awt.Button; 
import   java.awt.Color; 
import   java.awt.Frame; 
import   java.awt.GridLayout; 
import   java.awt.Label; 
import   java.awt.Panel; 
import   java.awt.TextField; 
import   java.awt.event.ActionEvent; 
import   java.awt.event.ActionListener;
import   javax.swing.*;
//import java.lang.*; public   class  LKF  extends  JFrame implements  ActionListener 
{         JButton   a1,   a2,   a3,   a4,   a5; 
        JTextField   text1,   text2,   text3; 
        Double     a,   b; 
        JFrame      f1;     public  LKF() 
        {    f1   =   new   JFrame( "计算器 "); 
                f1.setSize(200,   200); 
                f1.setVisible(true);                 Panel   pan   =   new   Panel(); 
                pan.setBackground(Color.cyan);                 Panel   pan2   =   new   Panel(); 
                pan2.setBackground(Color.blue);                 setLayout(new   BorderLayout()); 
                f1.add( "Center ",   pan); 
                f1.add( "East ",   pan2);                 JLabel   la   =   new   JLabel( "操作数 "); 
                text1   =   new   JTextField(5); 
                text1.getText(); 
                JLabel   lb   =   new   JLabel( "操作数 "); 
                text2   =   new   JTextField(5); 
                text2.getText(); 
                JLabel   lc   =   new   JLabel( "结果 "); 
                text3   =   new   JTextField(5); 
                //   text3.setEditable(false); 
                a1   =   new   JButton( "+ "); 
                a2   =   new   JButton( "- "); 
                a3   =   new   JButton( "* "); 
                a4   =   new   JButton( "/ "); 
                a5   =   new   JButton( "重置 ");                 pan.setLayout(new   GridLayout(3,   2)); 
                pan.add(la); 
                pan.add(text1); 
                pan.add(lb); 
                pan.add(text2); 
                pan.add(lc); 
                pan.add(text3); 
                pan2.setLayout(new   GridLayout(5,   1)); 
                pan2.add(a1); 
                pan2.add(a2); 
                pan2.add(a3); 
                pan2.add(a4); 
                pan2.add(a5);
                f1.getContentPane().add(pan);
                f1.getContentPane().add(pan2);                 a1.addActionListener(this); 
                a2.addActionListener(this); 
                a3.addActionListener(this); 
                a4.addActionListener(this); 
                a5.addActionListener(this); 
              //  post();
                pack();         } 
               public   void   actionPerformed(ActionEvent   e)         { 
                if(!(text1.getText().trim().equals( " ")   &&   text2.getText().trim().equals( " "))) 
                { 
                        
                        a   =   Double.valueOf(text1.getText()).doubleValue(); 
                        b   =   Double.valueOf(text2.getText()).doubleValue();                         if   (e.getSource()   ==   a1) 
                        { 
                                text3.setText(String.valueOf(a   +   b)); 
                        } 
        
                        if   (e.getSource()   ==   a2) 
                        { 
                                text3.setText(String.valueOf(a   -   b)); 
                        } 
        
                        if   (e.getSource()   ==   a3) 
                        { 
                                text3.setText(String.valueOf(a   *   b)); 
                        } 
        
                        if   (e.getSource()   ==   a4) 
                        { 
                                text3.setText(String.valueOf(a   /   b)); 
                        } 
        
                        if   (e.getSource()   ==   a5) 
                        { 
                                text1.setText( " "); 
                                text2.setText( " "); 
                                text3.setText( " "); 
                        }                 } 
        }         public   static   void   main(String   args[]) 
        {              //   new   LKF(); 
                LKF f1=new LKF();
// f.setBounds(400,150,300,300);
     f1.setVisible(true) ;

        } } ===================================================================================================用JCreator编译时没错误,可打开后就一个空白的页面,我不知道该怎么修改掉他.
望各位高人帮忙.感激万分.

解决方案 »

  1.   

    f1.add( "Center ",  pan); 等改为
    f1.getContentPane().add("Center ", pan); 要向 JFrame 的内容面板中添加组件。
      

  2.   

    问题在f1.add( "Center ",  pan);f1.add( "East ",  pan2);字符串里面不要有空格。不过这个方法已经不推荐使用了。
      

  3.   


    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.GridLayout;
    import java.awt.Panel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;public class LKF extends JFrame implements ActionListener
    {
        private static final long serialVersionUID = 6976073684402477260L;    JButton a1, a2, a3, a4, a5;    JTextField text1, text2, text3;    Double a, b;    public LKF()
        {
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setSize(200, 200);
            setVisible(true);        Panel pan = new Panel();
            pan.setBackground(Color.cyan);        Panel pan2 = new Panel();
            pan2.setBackground(Color.blue);        setLayout(new BorderLayout());
            add(pan, BorderLayout.CENTER);
            add(pan2, BorderLayout.EAST);        JLabel la = new JLabel("操作数 ");
            text1 = new JTextField(5);
            text1.getText();
            JLabel lb = new JLabel("操作数 ");
            text2 = new JTextField(5);
            text2.getText();
            JLabel lc = new JLabel("结果 ");
            text3 = new JTextField(5);
            //  text3.setEditable(false); 
            a1 = new JButton("+ ");
            a2 = new JButton("- ");
            a3 = new JButton("* ");
            a4 = new JButton("/ ");
            a5 = new JButton("重置 ");        pan.setLayout(new GridLayout(3, 2));
            pan.add(la);
            pan.add(text1);
            pan.add(lb);
            pan.add(text2);
            pan.add(lc);
            pan.add(text3);
            pan2.setLayout(new GridLayout(5, 1));
            pan2.add(a1);
            pan2.add(a2);
            pan2.add(a3);
            pan2.add(a4);
            pan2.add(a5);
            getContentPane().add(pan);
            getContentPane().add(pan2);        a1.addActionListener(this);
            a2.addActionListener(this);
            a3.addActionListener(this);
            a4.addActionListener(this);
            a5.addActionListener(this);
            //  post(); 
            pack();
        }    public void actionPerformed(ActionEvent e)    {
            if(!(text1.getText().trim().equals(" ") && text2.getText().trim().equals(" ")))
            {            a = Double.valueOf(text1.getText()).doubleValue();
                b = Double.valueOf(text2.getText()).doubleValue();            if(e.getSource() == a1)
                {
                    text3.setText(String.valueOf(a + b));
                }            if(e.getSource() == a2)
                {
                    text3.setText(String.valueOf(a - b));
                }            if(e.getSource() == a3)
                {
                    text3.setText(String.valueOf(a * b));
                }            if(e.getSource() == a4)
                {
                    text3.setText(String.valueOf(a / b));
                }            if(e.getSource() == a5)
                {
                    text1.setText(" ");
                    text2.setText(" ");
                    text3.setText(" ");
                }        }
        }    public static void main(String args[])
        {        //  new  LKF(); 
            LKF f1 = new LKF();
            // f.setBounds(400,150,300,300); 
            f1.setVisible(true);
        }
    }
      

  4.   

    你的代码什么逻辑?LKF 已经继承自 JFrame 了,那 JFrame f1; 是干嘛的?
      

  5.   

    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.GridLayout;
    import java.awt.Panel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTextField;public class LKF extends JFrame implements ActionListener { private JButton a1, a2, a3, a4, a5;
    private JTextField text1, text2, text3;
    private Double a, b;
    //JFrame f1; public LKF() {
    super("计算器 ");
    setSize(200, 200);
    //this.f1 = new JFrame("计算器 ");
    //this.f1.setSize(200, 200);
    //this.f1.setVisible(true);
    Panel pan = new Panel();
    pan.setBackground(Color.cyan);
    Panel pan2 = new Panel();
    pan2.setBackground(Color.blue);
    setLayout(new BorderLayout());
    getContentPane().add(pan, BorderLayout.CENTER);
    //this.f1.add("Center ", pan);
    getContentPane().add(pan2, BorderLayout.EAST);
    //this.f1.add("East ", pan2);
    JLabel la = new JLabel("操作数 ");
    this.text1 = new JTextField(5);
    //this.text1.getText();  //垃圾代码
    JLabel lb = new JLabel("操作数 ");
    this.text2 = new JTextField(5);
    //this.text2.getText();  //垃圾代码
    JLabel lc = new JLabel("结果 ");
    this.text3 = new JTextField(5);
    //text3.setEditable(false);
    this.a1 = new JButton("+ ");
    this.a2 = new JButton("- ");
    this.a3 = new JButton("* ");
    this.a4 = new JButton("/ ");
    this.a5 = new JButton("重置 ");
    pan.setLayout(new GridLayout(3, 2));
    pan.add(la);
    pan.add(this.text1);
    pan.add(lb);
    pan.add(this.text2);
    pan.add(lc);
    pan.add(this.text3);
    pan2.setLayout(new GridLayout(5, 1));
    pan2.add(this.a1);
    pan2.add(this.a2);
    pan2.add(this.a3);
    pan2.add(this.a4);
    pan2.add(this.a5);
    //getContentPane().add(pan);  //this.f1.getContentPane().add(pan);
    //getContentPane().add(pan2);  //this.f1.getContentPane().add(pan2);
    this.a1.addActionListener(this);
    this.a2.addActionListener(this);
    this.a3.addActionListener(this);
    this.a4.addActionListener(this);
    this.a5.addActionListener(this);
    //post();
    pack();
    } public void actionPerformed(ActionEvent e) {
    if (!(this.text1.getText().trim().equals(" ") && this.text2.getText().trim().equals(" "))) {
    this.a = Double.valueOf(this.text1.getText()).doubleValue();
    this.b = Double.valueOf(this.text2.getText()).doubleValue();
    if (e.getSource() == this.a1) {
    this.text3.setText(String.valueOf(this.a + this.b));
    }
    if (e.getSource() == this.a2) {
    this.text3.setText(String.valueOf(this.a - this.b));
    }
    if (e.getSource() == this.a3) {
    this.text3.setText(String.valueOf(this.a * this.b));
    }
    if (e.getSource() == this.a4) {
    this.text3.setText(String.valueOf(this.a / this.b));
    }
    if (e.getSource() == this.a5) {
    this.text1.setText(" ");
    this.text2.setText(" ");
    this.text3.setText(" ");
    }
    }
    } public static void main(String args[]) {
    //new LKF();
    LKF f1 = new LKF();
    //f.setBounds(400,150,300,300);
    f1.setVisible(true);
    }}
      

  6.   

    f1.add( "Center ",  pan); 
    f1.add( "East ",  pan2); 换个
    f1.add(pan,BorderLayout.CENTER); 
    f1.add(pan2,BorderLayout.EAST); 
      

  7.   


    那就出鬼了,怎么我的和 craky 的到你那儿都不好使?你是怎么运行的?
      

  8.   

    你的LKF既然继承了JFrame;
     
    干吗还要在里面再定义? f1  =  new  JFrame( "计算器 "); 
                    f1.setSize(200,  200); 
                    f1.setVisible(true);                 Panel  pan  =  new  Panel(); 
                    pan.setBackground(Color.cyan);                 Panel  pan2  =  new  Panel(); 
                    pan2.setBackground(Color.blue);                 setLayout(new  BorderLayout()); 
                    f1.add( "Center ",  pan); 
                    f1.add( "East ",  pan2); 这些不用的;
    setSize();不要用吧;
      

  9.   


    我也搞不懂了,我用的是JCreator和1.5的JDK我只能看到几个加减乘除的符号.