ItemEvent---匿名类实现计算器---匿名类真好用

本文介绍了一个使用Java Swing创建的简单计算器应用程序。该程序通过图形用户界面接收用户输入的两个数值和运算符,然后进行加、减、乘、除、取余等基本算术运算,并在文本区域显示计算结果。文章详细展示了如何利用匿名内部类实现事件监听。
package javawork;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Show extends JFrame{

	private JTextField field1,field2;
	private JButton button;
	private JComboBox list;
	private JTextArea textShow;
	private String fuhao;
	
	
	public Show()
	{
		Container co=new Container();
		co.setLayout(new FlowLayout());
		field1=new JTextField(10);
		field2=new JTextField(10);
		button=new JButton("计算");
		co.add(field1);
		co.add(field2);
		co.add(button);
		textShow=new JTextArea(8,10);
		co.add(new JScrollPane(textShow));
		
		
		list =new JComboBox();
		list.addItem("\\");
		list.addItem("加法");
		list.addItem("减法");
		list.addItem("乘法");
		list.addItem("除法");
		list.addItem("取余");
		co.add(list);//记住了我的小宝贝
		list.addItemListener(new ItemListener() {
			
			public void  itemStateChanged(ItemEvent e)
			{
				fuhao=list.getSelectedItem().toString();
				
			}
		});
		//匿名类,匿名大法好
		button.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e)
			{
				String str="";
				if(fuhao.equals("\\"))
					str="哈哈,你是个傻子吧!";
				else if(fuhao.equals("加法"))
				{
					int a=Integer.parseInt(field1.getText());
					int b=Integer.parseInt(field2.getText());
					str+=a+" +"+b+"="+(a+b);
				}
				else if(fuhao.equals("减法"))
				{
					int a=Integer.parseInt(field1.getText());
					int b=Integer.parseInt(field2.getText());
					str+=a+" -"+b+"="+(a-b);
				}
				else if(fuhao.equals("乘法"))
				{
					int a=Integer.parseInt(field1.getText());
					int b=Integer.parseInt(field2.getText());
					str+=a+" *"+b+"="+(a*b);
				}
				else if(fuhao.equals("除法"))
				{
					int a=Integer.parseInt(field1.getText());
					int b=Integer.parseInt(field2.getText());
					str+=a+"/"+b+"="+(a/b);
				}
				else if(fuhao.equals("取余"))
				{
					int a=Integer.parseInt(field1.getText());
					int b=Integer.parseInt(field2.getText());
					str+=a+" %"+b+"="+(a%b);
				}
				str+="\n";
				textShow.append(str);
			}
		});
		
		add(co);
		setSize(400,400);
		setVisible(true);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	
	
	
}




package javawork;

public class TestMain {

	public static void main(String args[])
	{
		Show sh=new Show(); 
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值