GUI 简单加法计算器模拟 监听事件获取其他域的属性值 窗口关闭的监听事件
2015-12-15 23:42
573 查看
闲来无事,学学图形界面开发,没准什么时候自己写个东西,会有很实用的价值。
一直没想明白,当点击按钮的时候,怎么获取其他如文本框的属性值??
今天看了马士兵老师的视频,通过一种门面模式的方法,将所需要获取的类添加到自己的成员变量里来,如将文本框的所属的类注入到按钮监听类的属性中,就可以轻松获取该类中所有的公共属性了。
窗口关闭事件的话,如果实现了Frame类,重写Frame的addWindowListener()方法,参数是new一个new WindowAdapter(),然后再实现new WindowAdapter()的windowClosing的方法,添加System.exit(0);就可以了。
一直没想明白,当点击按钮的时候,怎么获取其他如文本框的属性值??
今天看了马士兵老师的视频,通过一种门面模式的方法,将所需要获取的类添加到自己的成员变量里来,如将文本框的所属的类注入到按钮监听类的属性中,就可以轻松获取该类中所有的公共属性了。
package com.gui._02actionlistener; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /** * 加法计算器简单实现 * 1.获取其他域的值 * 2.窗口关闭事件 * @author Administrator * */ public class TextField_NumAdd { public static void main(String[] args) { new TFFrame_2Num().buildFrame(); } } /** * 创建窗口 * @author Administrator * */ class TFFrame_2Num extends Frame{ //定义3个成员变量 TextField num1,num2,result; public void buildFrame(){ num1 = new TextField(10); num2 = new TextField(10); result = new TextField(15); Label labelAdd = new Label(" + "); Button btnEq = new Button(" = "); //添加点击事件 btnEq.addActionListener(new AddActionListener(this)); setTitle("two nums add"); setLayout(new FlowLayout()); //窗口关闭事件 this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); //xx + xx = xx add(num1); add(labelAdd); add(num2); add(btnEq); add(result); pack(); setVisible(true); setLocationRelativeTo(null); } } class AddActionListener implements ActionListener{ //定义Frame成员变量,为了获取Frame的属性值 TFFrame_2Num tf; public AddActionListener(TFFrame_2Num tf){ this.tf = tf; } @Override public void actionPerformed(ActionEvent e) { int n1 = Integer.parseInt(tf.num1.getText()); int n2 = Integer.parseInt(tf.num2.getText()); tf.result.setText((n1+n2)+ ""); } }
窗口关闭事件的话,如果实现了Frame类,重写Frame的addWindowListener()方法,参数是new一个new WindowAdapter(),然后再实现new WindowAdapter()的windowClosing的方法,添加System.exit(0);就可以了。
<span> </span>//窗口关闭事件
<span> </span>Frame f = new Frame(); f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } });
相关文章推荐
- ext监听事件方法[初级篇]
- 在firefox和Chrome下关闭浏览器窗口无效的解决方法
- IE6、IE7、Firefox javascript 无提示关闭窗口的代码
- 捕获关闭窗口的脚本
- IE,firefox(火狐)浏览器无提示关闭窗口js实现代码小结
- asp javascript 实现关闭窗口时保存数据的办法
- 不提示直接关闭网页窗口的JS示例代码
- JS关闭窗口与JS关闭页面的几种方法小结
- 弹出窗口以及关闭窗口
- 弹出窗口以及关闭窗口
- 弹出窗口以及关闭窗口
- android:onClick="XXX"的使用
- Android actionbar右上角按钮设置监听事件
- EditText的监听事件
- sencha touch笔记(3)
- C语言关闭窗口
- Tomcat启动与关闭事件监听
- Js 定时关闭窗口
- js关闭窗口无提示
- Android开发学习笔记:为动态添加的EditText控件绑定值改变监听事件