计算器

    技术2022-05-11  65

    package  as; import  java.awt. * ; import  javax.swing. * ; import  java.awt.event. * ; public   class  JiSuanQi  implements  ActionListener{     /**      * 程序功能: 计算器     *      * Bug: 1)小数点:设一个Boolean成员变量,在点击后不可用。。。在"+-/*"中设为可用。      */          // step1  Define Container          private  JFrame fra  =   new  JFrame( " 计算器 " );         private  Panel panel  =   new  Panel();         private   float  sum,sum1,sum2;         private   char  zifu;         private   boolean  ii = true ;        Container con  =  fra.getContentPane();        JMenuBar bar  =   new  JMenuBar();        JMenu  JMenu1  =   new  JMenu( " 编辑 " );        JMenu  JMenu2  =   new  JMenu( " 查看 " );        JMenu  JMenu3 =   new  JMenu( " 帮助 " );        JMenuItem  JMenuitem =   new  JMenuItem( " 帮助111 " );         JMenuItem  JMenuitem1 =   new  JMenuItem( " 帮助111 " );              // step3  Define Component         TextField text  =   new  TextField();        JButton bu1  =   new  JButton( " 1 " );        JButton bu2  =   new  JButton( " 2 " );        JButton bu3  =   new  JButton( " 3 " );        JButton bu4  =   new  JButton( " 4 " );        JButton bu5  =   new  JButton( " 5 " );        JButton bu6  =   new  JButton( " 6 " );        JButton bu7  =   new  JButton( " 7 " );        JButton bu8  =   new  JButton( " 8 " );        JButton bu9  =   new  JButton( " 9 " );        JButton bu0  =   new  JButton( " 0 " );        JButton bujia  =   new  JButton( " + " );        JButton bujian  =   new  JButton( " - " );        JButton bucheng  =   new  JButton( " * " );        JButton buchu  =   new  JButton( " / " );        JButton budian  =   new  JButton( " . " );        JButton bufuhao  =   new  JButton( " +/- " );        JButton budenghao  =   new  JButton( " = " );        JButton buqingling  =   new  JButton( " C " );             public   void  m()    {             // step2  Define  Layout         con.setLayout( new  BorderLayout());        panel.setLayout( new  GridLayout( 5 , 4 , 4 , 4 ));        buqingling.setForeground(Color.RED);         // step5  把组件(subassembly)放在Panel中         panel.add(bu1);        panel.add(bu2);        panel.add(bu3);        panel.add(bujia);        panel.add(bu4);        panel.add(bu5);        panel.add(bu6);        panel.add(bujian);        panel.add(bu7);        panel.add(bu8);        panel.add(bu9);        panel.add(bucheng);        panel.add(bu0);        panel.add(bufuhao);        panel.add(budian);                panel.add(buchu);        panel.add(buqingling);        panel.add(budenghao);             /* JMenu1.add("复制");        JMenu1.add("粘贴");        JMenu2.add("标准型");        JMenu2.add("科学型");        JMenu2.addSeparator();        JMenu2.add("数学分组");        //JMenu3.add("帮助"); */         JMenu1.add(JMenuitem1);        bar.add(JMenu1);        bar.add(JMenu2);        JMenu3.add(JMenuitem);        bar.add(JMenu3);        fra.setJMenuBar(bar);                         // 把Panel放到Fream中         con.add(panel,BorderLayout.CENTER);        con.add(text,BorderLayout.NORTH);         // 对 JJButton 进行事件处理         bu1.addActionListener( this );        bu2.addActionListener( this );        bu3.addActionListener( this );        bu4.addActionListener( this );        bu5.addActionListener( this );        bu6.addActionListener( this );        bu7.addActionListener( this );        bu8.addActionListener( this );        bu9.addActionListener( this );        bu0.addActionListener( this );        bujia.addActionListener( this );        bujian.addActionListener( this );        bucheng.addActionListener( this );        buchu.addActionListener( this );        budian.addActionListener( this );        bufuhao.addActionListener( this );        budenghao.addActionListener( this );        buqingling.addActionListener( this );         // show windows size and window         fra.setSize( 230 , 200 );        fra.setResizable( false ); // 屏蔽最大化          fra.setVisible( true ); // 显示Frame         // 关闭windows窗口         fra.addWindowListener( new  WindowAdapter()                {                  public   void  windowClosing(WindowEvent e)                 {                     System.exit( 0 );                 }                }                );            }     public   void  actionPerformed(ActionEvent e)    {       String str = e.getActionCommand(); // 获取用户点击按扭上的文字是什么。        String shuzi = " 0123456789 " ;       String yunsuan = " +-*/ " ;               if (shuzi.indexOf(str) >= 0 ) // 判断返回的数值是否大于0        {               text.setText(text.getText() + str);                // ii=true;        }        else   if (yunsuan.indexOf(str) >= 0 )                {                   sum1 = Float.parseFloat(text.getText());                   text.setText( "" );                   zifu = yunsuan.charAt(yunsuan.indexOf(str));                   ii = true ;                }        else   if (str.equals( " . " &&  ii == true )                {                                        text.setText(text.getText() + str);                    ii = false ;                }        else   if (str.equals( " = " ))                {                   sum2 = Float.parseFloat(text.getText());                    switch (zifu)                       {                           case   ' + ' :                                      sum = sum1 + sum2;                                    text.setText( "" + sum);                                                                        break ;                                                              case   ' - ' :sum = sum1 - sum2;                                    text.setText( "" + sum);                                     break ;                           case   ' * ' :sum = sum1 * sum2;                                    text.setText( "" + sum);                                     break ;                           case   ' / ' :sum = sum1 / sum2;                                    text.setText( "" + sum);                                     break ;                       }                                   }        else   if (str.equals( " C " ))       {           text.setText( "" );           sum = 0 ;           sum1 = 0 ;           sum2 = 0 ;       }           }     public   static   void  main(String[] args) {         //  TODO Auto-generated method stub           JiSuanQi ji  =   new  JiSuanQi();          ji.m();    }}

    最新回复(0)