首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请高手帮小弟我看看这个计算器程序为什么运行后不能输入数字多谢了~

2012-01-05 
请高手帮我看看这个计算器程序为什么运行后不能输入数字谢谢了~~importjava.awt.Buttonimportjava.awt.Ch

请高手帮我看看这个计算器程序为什么运行后不能输入数字谢谢了~~
import   java.awt.Button;
import   java.awt.CheckboxMenuItem;
import   java.awt.GridLayout;
import   java.awt.Menu;
import   java.awt.MenuBar;
import   java.awt.MenuItem;
import   java.awt.Panel;
import   java.awt.TextField;
import   java.awt.event.ActionEvent;
import   java.awt.event.ActionListener;
import   java.awt.event.WindowAdapter;
import   java.awt.event.WindowEvent;

import   javax.swing.JFrame;
import   javax.swing.JTextField;


public   class   Calculator   {

        GridLayout   gl1,   gl2,   gl3;

        Panel   p0,   p1,   p2,   p3;

        JTextField   tf1;

        TextField   tf2;

        Button   b0,   b1,   b2,   b3,   b4,   b5,   b6,   b7,   b8,   b9,   b10,   b11,   b12,   b13,   b14,
                        b15,   b16,   b17,   b18,   b19,   b20,   b21,   b22,   b23,   b24,   b25,   b26;

        StringBuffer   str;

        double   x,   y;

        int   z;

        static   double   m;

        public   Calculator()   {
                MenuItem   m31   =   new   MenuItem( "帮助主题 ");
                MenuItem   m32   =   new   MenuItem( "关于计算器 ");
                gl1   =   new   GridLayout(1,   4,   10,   0);
                gl2   =   new   GridLayout(4,   1,   0,   15);
                gl3   =   new   GridLayout(4,   5,   10,   15);
                tf1   =   new   JTextField(27);
                tf2   =   new   TextField(10);
                p0   =   new   Panel();
                p1   =   new   Panel();
                p2   =   new   Panel();
                p3   =   new   Panel();
                str   =   new   StringBuffer();
                MenuItem   m11   =   new   MenuItem( "复制 ");
                MenuItem   m12   =   new   MenuItem( "粘贴 ");
                MenuItem   m13   =   new   MenuItem( "退出 ");
                MenuItem   m23   =   new   MenuItem( "数字分组 ");
                Menu   m1   =   new   Menu( "编辑 ");


                Menu   m2   =   new   Menu( "查看 ");
                Menu   m3   =   new   Menu( "帮助 ");
                CheckboxMenuItem   m22   =   new   CheckboxMenuItem( "科学 ");
                MenuItem   m21   =   new   MenuItem( "标准 ");
                JFrame   f   =   new   JFrame( "计算器 ");
                JTextField   tf   =   new   JTextField(20);
                MenuBar   mb   =   new   MenuBar();
                tf1.setHorizontalAlignment(JTextField.RIGHT);
                tf1.setEnabled(false);
                tf1.setText( "0 ");
                tf2.setEditable(false);
                b0   =   new   Button( "Backspace ");
                b0.addActionListener(new   Bt());
                b1   =   new   Button( "CE ");
                b1.addActionListener(new   Bt());
                b2   =   new   Button( "C ");
                b2.addActionListener(new   Bt());
                b3   =   new   Button( "MC ");
                b3.addActionListener(new   Bt());
                b4   =   new   Button( "MR ");
                b4.addActionListener(new   Bt());
                b5   =   new   Button( "MS ");
                b5.addActionListener(new   Bt());
                b6   =   new   Button( "M+ ");
                b6.addActionListener(new   Bt());
                b7   =   new   Button( "7 ");
                b7.addActionListener(new   Bt());
                b8   =   new   Button( "8 ");
                b8.addActionListener(new   Bt());
                b9   =   new   Button( "9 ");
                b9.addActionListener(new   Bt());
                b10   =   new   Button( "/ ");
                b10.addActionListener(new   Bt());
                b11   =   new   Button( "sqrt ");


                b11.addActionListener(new   Bt());
                b12   =   new   Button( "4 ");
                b12.addActionListener(new   Bt());
                b13   =   new   Button( "5 ");
                b13.addActionListener(new   Bt());
                b14   =   new   Button( "6 ");
                b14.addActionListener(new   Bt());
                b15   =   new   Button( "* ");

                b15.addActionListener(new   Bt());
                b16   =   new   Button( "% ");

                b16.addActionListener(new   Bt());
                b17   =   new   Button( "1 ");

                b17.addActionListener(new   Bt());
                b18   =   new   Button( "2 ");

                b18.addActionListener(new   Bt());
                b19   =   new   Button( "3 ");

                b19.addActionListener(new   Bt());
                b20   =   new   Button( "- ");

                b20.addActionListener(new   Bt());
                b21   =   new   Button( "1/X ");

                b21.addActionListener(new   Bt());
                b22   =   new   Button( "0 ");

                b22.addActionListener(new   Bt());
                b23   =   new   Button( "+/- ");

                b23.addActionListener(new   Bt());
                b24   =   new   Button( ". ");

                b24.addActionListener(new   Bt());
                b25   =   new   Button( "+ ");

                b25.addActionListener(new   Bt());
                b26   =   new   Button( "= ");
                b26.addActionListener(new   Bt());
                f.setMenuBar(mb);

                mb.add(m1);
                mb.add(m2);
                mb.setHelpMenu(m3);



                m1.add(m11);
                m1.add(m12);
                m1.addSeparator();
                m1.add(m13);

                mb.add(m1);
                mb.add(m2);
                mb.setHelpMenu(m3);

                m2.add(m21);

                m2.add(m22);

                m2.addSeparator();
                m2.add(m23);

                m3.add(m31);
                m3.addSeparator();
                m3.add(m32);
                f.setSize(300,   300);
                f.setVisible(true);
                p0.add(tf1);
                p0.setBounds(10,   25,   300,   40);
                p1.setLayout(gl1);
                p1.add(tf2);
                p1.add(b0);
                p1.add(b1);
                p1.add(b2);
                p1.setBounds(10,   65,   300,   25);
                p2.setLayout(gl2);
                p2.add(b3);
                p2.add(b4);
                p2.add(b5);
                p2.add(b6);
                p2.setBounds(10,   110,   40,   150);
                p3.setLayout(gl3);
                p3.add(b7);
                p3.add(b8);
                p3.add(b9);
                p3.add(b10);
                p3.add(b11);
                p3.add(b12);
                p3.add(b13);
                p3.add(b14);
                p3.add(b15);
                p3.add(b16);
                p3.add(b17);
                p3.add(b18);
                p3.add(b19);
                p3.add(b20);
                p3.add(b21);
                p3.add(b22);


                p3.add(b23);
                p3.add(b24);
                p3.add(b25);
                p3.add(b26);
                p3.setBounds(60,   110,   250,   150);
               
             
         
                f.setLayout(null);
                f.add(p0);
                f.add(p1);
                f.add(p2);
                f.add(p3);
             
                f.addWindowListener(new   WindowAdapter()   {

                        public   void   windowClosing(WindowEvent   e1)   {
                                System.exit(0);
                        }
                });

                f.setSize(350,   350);
                f.setVisible(true);
        }
       
   
               

        class   Bt   implements   ActionListener   {
           

                public   void   actionPerformed(ActionEvent   e2)   {


                                if   (e2.getSource()   ==   b1)   {
                                        tf1.setText( "0 ");
                                        str.setLength(0);
                                }

                                else   if   (e2.getSource()   ==   b25)   {
                                        x   =   Double.parseDouble(tf1.getText().trim());
                                        str.setLength(0);
                                        y   =   0d;
                                        z   =   0;


                                }

                                else   if   (e2.getSource()   ==   b26)   {
                                        str.setLength(0);
                                        switch   (z)   {
                                                case   0:
                                                        tf1.setText( " "   +   (x   +   y));
                                                        break;
                                        }
                                }   else   if   (e2.getSource()   ==   b24)   {
                                        if   (tf1.getText().trim().indexOf( ". ")   !=   -1)   {

                                        }   else   {
                                                if   (tf1.getText().trim().equals( "0 "))   {
                                                        str.setLength(0);
                                                        tf1.setText((str
                                                                        .append( "0 "   +   e2.getActionCommand()))
                                                                        .toString());
                                                }   else   if   (tf1.getText().trim().equals( " "))   {
                                                }   else   {


                                                        tf1.setText(str.append(e2.getActionCommand())
                                                                        .toString());
                                                }
                                        }

                                        y   =   0d;
                                }

                        }

                       
                        }


        public   static   void   main(String   args[])   {
                Calculator   c   =   new   Calculator();
        }
}


[解决办法]
你的程序还没有写全呢
Bt类中其他按钮的动作代码你还没有些呢
在public void actionPerformed(ActionEvent e2)
中再加一个
else {
String a=((Button)e2.getSource()).getLabel();
tf1.setText(a);}
}

但是你的‘+’功能写的有欠缺,y没有被赋值,所以完不成+的功能
你再好好补充一下

热点排行