java计算器

import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class t {
    public static void main(String[]args){
        Jisuanqi fr=new Jisuanqi();
    }
}
class Jisuanqi extends JFrame implements ActionListener{
    JTextField text1,text2,text3;//设置可输入的空
	JButton buttonAdd,buttonDiv;//设置按钮
	JLabel label;//显示文本
    public Jisuanqi(){
        setLayout(new FlowLayout());//设置布局括号里是布局对象
        Font font = new Font("Times New Roman",Font.BOLD,20);
        text1=new JTextField(10);//设置可以运行的长度
		text2=new JTextField(10);
		text3=new JTextField(10);
		text3.setEditable(false);//设置结果空不可编辑
		label=new JLabel(" ",JLabel.CENTER);//设置标题居中
		label.setFont(font);//设置字体
		add(text1);
		add(label);
		add(text2);
		add(text3); 
        buttonAdd=new JButton("加");//设置加除功能的按钮
		buttonDiv=new JButton("除");
		add(buttonAdd);
		add(buttonDiv); 
        buttonAdd.addActionListener(this);//按钮接口需要使用监视器添加组件(ActionListener),this表示当前类对象直接调用
		buttonDiv.addActionListener(this); 
        setTitle("XXX制作简单计算器");
		setSize(400,120);
        setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setResizable(false);//设置大小不可被改变
		this.setLocationRelativeTo(null);//设置计算器出现在中间
    }
    public void actionPerformed(ActionEvent e) {//处理异常事件,并把该事件命名为e
		double n;
		if(e.getSource()==buttonAdd) {//事件e的原因是在加法按钮中实现的
			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 f){ 
				text3.setText("请输入数字字符");
		} 
     } else if(e.getSource()==buttonDiv){
    	 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 h) { 
    		 text3.setText("请输入数字字符");
          } 
      }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值