GUI用户界面做的小型计算器

这是我做的计算器的排版,显得有些笨拙,上面两个文本框用于用户输入数字的,中间的五个是按钮,下面一个是显示答案的文本框
*事件:当用户在界面上执行一个操作,例如按下键盘、拖动或者单击鼠标时,都将产生一个事件。Java中事件是用来描述不同类型用户操作的对象,Java中有很多不同类型的事件。例如:单击,双击,右击,拖动,键盘的按下、释放,文本域内容改变等。

事件源:产生事件的组件就是一个事件源。例如,当在一个Button上单击鼠标是,将产生一个ActionEvent类型的事件,而这个Button就是事件源

事件监听器:就是调用事件处理方法的对象。当界面操作事件产生并被发送到产生事件的组件时,该组件将把事件发送给能接受和处理该事件的监听器。*
这里面的重要的是事件的监听,我是通过事件源是按钮,事件是鼠标移动。而这一动作会被监听器捕捉到,监听器就会创建一个移动事件类并自动调用监听器接口(里面都是抽象方法,必须全部实现)中的一个方法,对这一动作做出反应
在这里插入图片描述

import java.awt.*;
import java.awt.event.*;
/**
*@author 作者 Your-Name:
*@version 创建时间:
*类说明:实现GUI计算器
*/
public class JiSuanQi {
    static int x;
    static int y;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
       Frame f = new Frame("计算器");
       f.setBounds(100,100,400,400);
       f.setVisible(true);
       f.setLayout(null);
       f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		});
       
	TextField t1 = new TextField();
	t1.setBounds(100,80,100,30);
	f.add(t1);
	TextField t2 = new TextField();
	t2.setBounds(100,160,100,30);
	f.add(t2);
	TextField t3 = new TextField();
	t3.setBounds(100,300,100,30);
	f.add(t3);
	Button b1 = new Button("+");
	b1.setBounds(80,240,30,20);
	b1.addMouseListener(new MouseListener() {
		public void mouseClicked(MouseEvent e)
    	{
    		
    	}
    	public void mouseEntered(MouseEvent e)
    	{
    		
    	}
    	public void mouseExited(MouseEvent e)
    	{
    		
    	}
    	public void mousePressed(MouseEvent e)
    	{
    		
    	}
    	public void mouseReleased(MouseEvent e)
    	{
    		x = Integer.parseInt(t1.getText());//获取文本框1里面的数字,文本框中都是字符串所以要用这个方法强转为整数
    		y = Integer.parseInt(t2.getText());
    		t3.setText("和为: " + (x + y));//对文本框3添加字符串
    		
    	}
	});
	f.add(b1);
	Button b2 = new Button("-");
	b2.setBounds(130,240,30,20);
	b2.addMouseListener(new MouseListener() {
		public void mouseClicked(MouseEvent e)
    	{
    		
    	}
    	public void mouseEntered(MouseEvent e)
    	{
    		
    	}
    	public void mouseExited(MouseEvent e)
    	{
    		
    	}
    	public void mousePressed(MouseEvent e)
    	{
    		
    	}
    	public void mouseReleased(MouseEvent e)
    	{
    		x = Integer.parseInt(t1.getText());
    		y = Integer.parseInt(t2.getText());
    		t3.setText("差为: " + (x - y));
    		
    	}
	});
	f.add(b2);
	Button b3 = new Button("*");
	b3.setBounds(170,240,30,20);
	b3.addMouseListener(new MouseListener() {
		public void mouseClicked(MouseEvent e)
    	{
    		
    	}
    	public void mouseEntered(MouseEvent e)
    	{
    		
    	}
    	public void mouseExited(MouseEvent e)
    	{
    		
    	}
    	public void mousePressed(MouseEvent e)
    	{
    		
    	}
    	public void mouseReleased(MouseEvent e)
    	{
    		x = Integer.parseInt(t1.getText());
    		y = Integer.parseInt(t2.getText());
    		t3.setText("积为: " + (x * y));
    		
    	}
	});
	f.add(b3);
	Button b4 = new Button("/");
	b4.setBounds(210,240,30,20);
	b4.addMouseListener(new MouseListener() {
		public void mouseClicked(MouseEvent e)
    	{
    		
    	}
    	public void mouseEntered(MouseEvent e)
    	{
    		
    	}
    	public void mouseExited(MouseEvent e)
    	{
    		
    	}
    	public void mousePressed(MouseEvent e)
    	{
    		
    	}
    	public void mouseReleased(MouseEvent e)
    	{
    		x = Integer.parseInt(t1.getText());
    		y = Integer.parseInt(t2.getText());
    		if(y == 0)
    		{
    			t3.setText("除数不能为0");
    		}
    		else
    		{
    			t3.setText("商为: " + (x / y));
    		}
    		
    		
    	}
	});
	f.add(b4);
	Button b5 = new Button("清空");
	b5.setBounds(250,240,30,30);
	b5.addMouseListener(new MouseListener() {
		public void mouseClicked(MouseEvent e)
    	{
    		
    	}
    	public void mouseEntered(MouseEvent e)
    	{
    		
    	}
    	public void mouseExited(MouseEvent e)
    	{
    		
    	}
    	public void mousePressed(MouseEvent e)
    	{
    		
    	}
    	public void mouseReleased(MouseEvent e)
    	{
    		t1.setText("");
    		t2.setText("");
    		t3.setText("");
    		
    	}
	});
	f.add(b5);
	
	
	
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值