java响应式

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//窗口的建立
class window extends JFrame implements ActionListener
{
    private JTextField opt1,opt2;//创建两个操作数
    private JTextArea result;
    private JButton compute;
    private JComboBox operator;//创建一个复选框
    public window()
    {
        init();
        this.setBounds(100,100,600,200);
        this.setVisible(true);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    private void init()
    {
     JPanel panel=new JPanel();  
     opt1=new JTextField(10);
     opt2=new JTextField(10);
     operator=new JComboBox();
     result=new JTextArea(10,8);
     compute=new JButton("计算");
     operator.addItem("+");
     operator.addItem("-");
     operator.addItem("*");
     operator.addItem("/");
     compute.addActionListener(this);//为compute加入监视器
     //将组件放入条形框
     panel.add(opt1);
     panel.add(operator);
     panel.add(opt2);
     panel.add(new Label("=");
     panel.add(compute);
     //将组件放入大容器 并设置格局
     this.add(panel,BorderLayout.NORTH);
     this.add(result,BorderLayout.CENTER);
    }
    public void actionPerformed(ActionEvent ee)
    {
        try
        {
            double fresult=0;//设置最终结果
            double op1=Double.parseDouble(opt1.getText().trim());//将操作数转化提出
            double op2=Double.parseDouble(opt2.getText().trim());
            //针对不同的情况分别计算
            if(operator.getSelectedItem()=="+")
                   fresult=op1+op2;
            else if(operator.getSelectedItem()=="-")
                   fresult=op1-op2;
            else if(operator.getSelectedItem()=="*")
                   fresult=op1*op2;
            else if(operator.getSelectedItem()=="/")
                   fresult=op1/op2;
            //采用追加
            result.append("result is" + fresult);
        }
        catch(NumberFormatException ee)//数字格式不对抛出异常
        {
            result.append("data error");
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值