Java事件处理机制- 事件监听器的四种实现方式
- 自身类作为事件监听器
- 外部类作为事件监听器
- 匿名内部类作为事件监听器
- 内部类作为事件监听器
自身类作为事件监听器:
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.*;
- /**
- *Java事件处理机制:自身类作为事件监听器
- *@author Winty(wintys@gmail.com)
- *@version 2008-12-3
- */
- class ThisClassEvent extends JFrame implements ActionListener{
- JButton btn;
- public ThisClassEvent(){
- super("Java事件监听机制");
- setLayout(new FlowLayout());
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- btn=new JButton("点击");
- btn.addActionListener(this);
- getContentPane().add(btn);
- setBounds(200,200,300,160);
- setVisible(true);
- }
- /**************************************/
- public void actionPerformed (ActionEvent e){
- Container c=getContentPane();
- c.setBackground(Color.red);
- }
- /**************************************/
- public static void main(String args[]){
- new ThisClassEvent();
- }
- }
外部类作为事件监听器:
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- /**
- *Java事件处理机制:外部类作为事件监听器
- *@author Winty(wintys@gmail.com)
- *@version 2008-12-3
- */
- class OuterClassEvent extends JFrame{
- JButton btn;
- public OuterClassEvent(){
- super("Java事件监听机制");
- setLayout(new FlowLayout());
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- btn=new JButton("点击");
- btn.addActionListener(new OuterClass(this));
- getContentPane().add(btn);
- setBounds(200,200,300,160);
- setVisible(true);
- }
- public static void main(String args[]){
- new OuterClassEvent();
- }
- }
- /*外部类*********************************/
- class OuterClass implements ActionListener{
- OuterClassEvent oce;
- public OuterClass(OuterClassEvent oce){
- this.oce = oce;
- }
- public void actionPerformed(ActionEvent e){
- Container c=oce.getContentPane();
- c.setBackground(Color.red);
- }
- }
匿名内部类作为事件监听器:
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- /**
- *Java事件处理机制:匿名内部类作为事件监听器
- *@author Winty(wintys@gmail.com)
- *@version 2008-12-3
- */
- class AnonymousEvent extends JFrame{
- JButton btn;
- public AnonymousEvent(){
- super("Java事件监听机制");
- setLayout(new FlowLayout());
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- btn=new JButton("点击");
- /*匿名内部类******************************/
- btn.addActionListener(
- new ActionListener(){
- public void actionPerformed(ActionEvent e){
- Container c=getContentPane();
- c.setBackground(Color.red);
- }
- }
- );
- /***************************************/
- getContentPane().add(btn);
- setBounds(200,200,300,160);
- setVisible(true);
- }
- public static void main(String args[]){
- new AnonymousEvent();
- }
- }
内部类作为事件监听器:
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- /**
- *Java事件处理机制:内部类作为事件监听器
- *@author Winty(wintys@gmail.com)
- *@version 2008-12-3
- */
- class InnerClassEvent extends JFrame{
- JButton btn;
- public InnerClassEvent(){
- super("Java事件监听机制");
- setLayout(new FlowLayout());
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- btn=new JButton("点击");
- btn.addActionListener(new InnerClass());
- getContentPane().add(btn);
- setBounds(200,200,300,160);
- setVisible(true);
- }
- /*内部类*********************************/
- class InnerClass implements ActionListener{
- public void actionPerformed (ActionEvent e){
- Container c=getContentPane();
- c.setBackground(Color.red);
- }
- }
- /**************************************/
- public static void main(String args[]){
- new InnerClassEvent();
- }
- }
Java事件处理机制- 事件监听器的四种实现方式的更多相关文章
- [转]Java事件处理机制- 事件监听器的四种实现方式
原文来自http://stefan321.iteye.com/blog/345221 自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: ...
- 【转】转帖并注释:Java中的事件处理机制--事件监听器的四种实现方式
原文地址:http://blog.sina.com.cn/s/blog_4b650d650100nqws.html Java中四种事件监听器的实现方式分别为: 自身类做为事件监听器 外部类作为事件监听 ...
- Java事件监听器的四种实现方式
自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: import javax.swing.*; import java.awt.*; i ...
- Java事件监听的四种实现方式
1.事件对象: 一般继承自java.util.EventObject对象,由开发者自行定义. 2.事件源: 就是触发事件的源头,不同的事件源会触发不同的事件类型. 3.事件监听器: 事件监听器负责监听 ...
- 事件处理之二:点击事件监听器的五种写法 分类: H1_ANDROID 2013-09-11 10:32 4262人阅读 评论(1) 收藏
首选方法二! 方法一:写一个内部类,在类中实现点击事件 1.在父类中调用点击事件 bt_dail.setOnClickListener(new MyButtonListener()); 2.创建内部类 ...
- java事件处理机制
java中的事件机制的参与者有3种角色: 1.event object:就是事件产生时具体的"事件",用于listener的相应的方法之中,作为参数,一般存在与listerne ...
- 从零开始理解JAVA事件处理机制(2)
第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事 ...
- 从零开始理解JAVA事件处理机制(1)
“事件”这个词已经被滥用了.正因为“事件”的被滥用,很多人在用到事件的时候不求甚解,依样画葫芦,导致学习工作了很多年,还是不清楚什么是事件处理器.什么是事件持有者.所以,如果你对于Event这个词还是 ...
- 从零开始理解JAVA事件处理机制(3)
我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...
随机推荐
- NAT、NAPT(PAT)的基本概念和工作原理及区别
转自:http://blog.sina.com.cn/s/blog_5d302bd20100gprv.html 近年来,随着 Internet 的迅猛发展,连入 Internet 的主机数量成倍增长. ...
- 【2018百度之星资格赛】 A 问卷调查 - 位运算&动规
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6344 参考博客:在此感谢http://www.cnblogs.com/LQLlulu/p/941923 ...
- Word 格式优化
Word 格式优化. Word 支持 VBA 意味着,可以编程实现自己想要的格式拓展. Word 代码布局
- 52.基于doc value正排索引的聚合内部原理
主要知识点: 本节没有太懂,以后复习时补上 聚合分析的内部原理是什么????aggs,term,metric avg max,执行一个聚合操作的时候,内部原理是怎样的呢?用了什么样的数据结 ...
- 第十三节:web爬虫之Redis数据存储
下面仅仅展示Redis的set()集合存储,并不完整,后期会对Redis进行全面的介绍.... 此时数据已经存储到Redis当中
- 数据库中间件MyCat学习总结(1)——MyCat入门简介
为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代.如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷. MyCat的目标就是:低成本 ...
- CentOS服务器上部署 oracle10gr2
1.下载Centos系统 Linux 镜像文件. 推荐使用 CentOS5.4,下载地址:http://isoredirect.centos.org/centos/5/isos/i38 ...
- 转载 - Python里面关于 模块 和 包 和 __init__.py 的一些事
出处:http://www.cnblogs.com/tqsummer/archive/2011/01/24/1943273.html python中的Module是比较重要的概念.常见的情况是,事先写 ...
- D. Palindromic characteristics
time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standa ...
- kuangbin专题最短路 D - Silver Cow Party
#include<iostream> #include<cstring> #include<algorithm> #include<iomanip> # ...