y2462567029 2021-06-13 01:31 采纳率: 75%
浏览 87
已采纳

java计算器题目,按钮文本框

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Xiti8_5

{  public static void main(String args[])

   { ComputerFrame fr=new ComputerFrame();

     fr.setTitle("计算");

   }

}

class ComputerFrame extends JFrame implements ActionListener

{ JTextField text1,text2,text3;

  JButton button1,button2,button3,button4;

  JLabel label;

  public ComputerFrame()

  {setLayout(new FlowLayout());

   text1=new JTextField(10);

   text2=new JTextField(10);

   text3=new JTextField(10);

   label=new JLabel(" ",JLabel.CENTER);

   label.setBackground(Color.green);

   add(text1);

   add(label);

   add(text2);

   add(text3);

   button1=new JButton("加");   

   button2=new JButton("减");

   button3=new JButton("乘");

   button4=new JButton("除");

   add(button1);

   add(button2);

   add(button3);

   add(button4);

   button1.addActionListener(this);

   button2.addActionListener(this);

   button3.addActionListener(this); 

   button4.addActionListener(this);

   setSize(400,320);

   setVisible(true);

   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

   validate();

  }  

  public void actionPerformed(ActionEvent e)

  { double n;

    if(e.getSource()==button1)

    {  double n1,n2; 

       try{ n1=Double.parseDouble(text1.getText());

            n2=Double.parseDouble(text2.getText());

            n=n1+n2;

            text3.setText(String.valueOf(n));

            label.setText("+");

          }

       catch(NumberFormatException ee)

          { text3.setText("请输入数字字符");

          }

     }

    else if(e.getSource()==button2)

    {  double n1,n2; 

       try{  n1=Double.parseDouble(text1.getText());

            n2=Double.parseDouble(text2.getText());

            n=n1-n2;

            text3.setText(String.valueOf(n));

            label.setText("-");

          }

       catch(NumberFormatException ee)

          { text3.setText("请输入数字字符");

          }

     }

     else if(e.getSource()==button3)

      {double n1,n2; 

       try{ n1=Double.parseDouble(text1.getText());

            n2=Double.parseDouble(text2.getText());

            n=n1*n2;

            text3.setText(String.valueOf(n));

            label.setText("*");

          }

       catch(NumberFormatException ee)

          { text3.setText("请输入数字字符");

          }

      }

      else if(e.getSource()==button4)

      {double n1,n2; 

       try{ n1=Double.parseDouble(text1.getText());

            n2=Double.parseDouble(text2.getText());

            n=n1/n2;

            text3.setText(String.valueOf(n));

            label.setText("/");

          }

       catch(NumberFormatException ee)

          { text3.setText("请输入数字字符");

          }

      }

     validate();

  }

}

 

  • 写回答

2条回答 默认 最新

  • 关注

    就是要求做一个跟系统自带的计算器一样的功能吧。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用