事件关联
来源:互联网 发布:gta5优化补丁3dm 编辑:程序博客网 时间:2024/06/10 04:56
JAVA里事件关联采用的监听机制
事件开发步骤:
1. 确定事件源2. 确定监听器3. 注册:建立事件源和监听器的联系
代码演示
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;public class MyFrame extends JFrame implements ActionListener { //取文本框的内容,必须把文本框做成属性 private loveTxt nameTxt=new loveTxt("姓名",200,150,this); public MyFrame() { this.setLayout(null); // 方法1 JButton j = new JButton("确定"); j.setBounds(100, 100, 60, 40); // 注册,实现按钮与监听器的关联,此方法为类库方法,多态调用 j.addActionListener(new MyEvent()); this.add(j); // 方法2 另外建一个lovoButton类 此类是继承按钮的窗口类,同时也是实现监听的接口,this表示 lovoButton l = new lovoButton("提交", 200, 200, this); l.addActionListener(this); // 方法3 使用直接书写匿名内部类,一般使用此种方式创建监听 lovoButton l1 = new lovoButton("添加", 250, 250, this); l1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("匿名内部类"); } }); //获取设置文本框内容 lovoButton l2=new lovoButton("加入", 300, 300, this); l2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //获取文本框数据getText String info=nameTxt.getText(); System.out.println(info);// //设置文本框数据// nameTxt.setText("ttt"); } }); this.setVisible(true); this.setSize(600, 400); this.setDefaultCloseOperation(3); this.setLocationRelativeTo(null); } public static void main(String[] args) { MyFrame m = new MyFrame(); } @Override public void actionPerformed(ActionEvent e) { System.out.println("类继承窗体并实现事件关联"); }}
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;//实现监听接口public class MyEvent implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { System.out.println("事件关联"); }}
import java.awt.Container;import javax.swing.JButton;//按钮组件public class lovoButton extends JButton{ public lovoButton(String txt,int x,int y,Container con){ this.setText(txt); this.setBounds(x, y, 60, 40); con.add(this); }}
import java.awt.Container;import javax.swing.JLabel;import javax.swing.JTextField;//文本框组件public class loveTxt extends JTextField{ public loveTxt(String text,int x,int y,Container con) { JLabel j1=new JLabel(text); j1.setBounds(x, y, 80, 20); con.add(j1); this.setBounds(x+80, y, 120, 20); con.add(this); }}
内部类中访问外部类对象:外部类名.this.
内部类能访问属性,不能访问局部变量,所以只要要操作的事件关联的文本框和标签都需设置成属性
如果事件当中要用到的就尽量做成属性(成员变量)
切换窗体需要先卸载当前窗体,需要使用 dispose方法 为卸载当前窗体
0 0
- 事件关联
- JavaMHXY事件关联机制
- 事件关联管理
- 委托加事件:关联选单
- Android onClick onTouch事件关联
- dd事件与规则关联
- Javascript函数与ActiveX事件关联
- 网络事件关联挖掘的一点想法~~
- 事件标记关联优化模型实现
- 事件标记关联优化模型实现
- 事件标记关联优化模型实现
- 事件标记关联优化模型实现
- ActiveX之控件关联变量、调用事件
- OSSIM平台安全事件关联分析实践
- 文件关联后vb.net 软件如何响应被关联文件的双击事件
- 动态创建菜单和动态关联菜单项事件
- 定制DataGridView快捷菜单ContextMenuStrip的关联事件
- 在VB中动态关联事件的方法
- 5-3 多级派生类的构造函数
- 输入框限制
- c++实现正则表达式匹配
- java的安全策略
- kill -3 pid打印trac
- 事件关联
- MATLAB操作界面
- JVM深入与项目中应用--(二)JVM,内存等监控
- vmware虚拟机无法上网的几点解决方案
- java随机生成随机数
- 来自于微信小程序的一封简讯
- Android压缩图片到100K以下并保持不失真的高效方法
- mac的java配置、maven配置
- 9