《java---简单计算器的实现》

import java.awt.*;
import java.awt.event.*;

class  AwtCount
{
	private Frame f;
	private TextField tf1;
	private TextField tf2;
	private TextField sign;
	private TextField tf;
	private Button but;
	
	private Dialog d;
	private Button okBut;
	private Label lab;

	AwtCount()
	{
		init();
	}
	public void init()
	{
		f = new Frame("计算工具");
		f.setBounds(300,100,300,100);
		f.setLayout(new FlowLayout());//设置布局

		tf1 = new TextField(5);
		sign = new TextField(1);
		tf2 = new TextField(5);	
		but = new Button("=");
		tf = new TextField(5);
		
		d = new Dialog(f,"提示信息",true);
		d.setBounds(400,200,150,100);
		d.setLayout(new FlowLayout());
		lab = new Label();
		okBut = new Button("确定");

		d.add(lab);
		d.add(okBut);
		
		f.add(tf1);
		f.add(sign);
		f.add(tf2);
		f.add(but);
		f.add(tf);
		myEvent();
		f.setVisible(true);
	}
	
	private void  myEvent()
	{	
		//为=按钮添加监听事件
		but.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				double num = 0.0;
				double num1 = Double.parseDouble(tf1.getText());
				double num2 = Double.parseDouble(tf2.getText());
				
				String ssign= new String(sign.getText());
				if (ssign.compareTo("+") == 0)
					num = num1 + num2;
				else if (ssign .compareTo("-") == 0)
					num = num1 - num2;
				else if (ssign.compareTo("*") == 0)
					num = num1 * num2;
				else if (ssign.compareTo("/") == 0)
					num = num1 / num2;
				else{
					String info = "您输入的符号有误!";
					lab.setText(info);
					d.setVisible(true);
				}
					
				tf.setText(new Double(num).toString());
			}
		});
		//为关闭按钮添加监听事件
		f.addWindowListener(new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);	
			}
		});
		//为弹出对话框的按钮设置监听
		okBut.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				d.setVisible(false);
			}
		});
	}

	public static void main(String[] args) 
	{
		new AwtCount();
	}
}
/*
要用好窗体首先要明确各个组件之间的关系,了解监听事件与被监听对象以监听的内容。
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值