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 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加