文本框相加运算

最终效果:



代码:

import java.awt.*;   //这个包中包含了绘制图形的类
import java.awt.event.*;   //包含事件处理类
public class TestTF_3
{
	public static void main(String[] args)
	{
		new TF().launch();   
	}
}
class TF
{
	public TextField tf1, tf2, tf3;	//定义三个文本框属性
	public void launch()  //启动方法
	{
		Frame f = new Frame("文本框相加运算");   //顶层窗口
		tf1 = new TextField(30);        //创建一个文本框对象
		tf2 = new TextField(30);      
		tf3 = new TextField(30);
		Button bn = new Button("=");      //创建一个按钮对象
		Label lb = new Label("+");	   //创建一个标签对象
		f.setLayout(new FlowLayout());    //重新设置为流式布局
		f.add(tf1);     //添加到f对象中
		f.add(lb);
		f.add(tf2);
		f.add(bn);
		f.add(tf3);		
		bn.addActionListener(new MyMonitor());   //为按钮添加事件处理
		f.pack(); //根据组件大小自动调整父窗口大小,使之能刚好包上
		f.addWindowListener(new Off());  //为f添加一个事件监听器
		f.setVisible(true);  //设置窗口可见
	}	
	class MyMonitor implements ActionListener  //内部类	使MyMonitor类可以访问TF类的成员																				
	/*这里继承接口是应为ActionListener接口中恰好只有一个方法*/
	{
		public void actionPerformed(ActionEvent e)     //重写方法
		{
			int num1 = Integer.parseInt(tf1.getText());     //将字符串转换为整形
			int num2 = Integer.parseInt(tf2.getText());
			int num3 = num1 + num2;
			tf3.setText(num3 + "");  //将整形转换为字符串类型
		}
	}
	class Off extends WindowAdapter    //这里选择继承类而不是接口是避免重写接口所有方法
	{
		@Override   //表示下面一个方法是重写父类的,如果有错就会有提示
		public void windowClosing(WindowEvent e)   //重写方法
		{
			Frame f=(Frame)e.getSource();   //如果有多个组件事件会自动识别调用方法处理
			f.setVisible(false);  //设为不可见,可以不用
			System.exit(-1);   //强制关闭窗口
		} 
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值