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遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...
随机推荐
- BZOJ5314: [Jsoi2018]潜入行动 (树形DP)
题意:一棵树选择恰好k个结点放置监听器 每个监听器只能监听相邻的节点 问能使得所有节点被监听的种类数 题解:反正就是很well-known的树形DP了 至于时间复杂度为什么是nk 不会不学 很好想到四 ...
- PIE SDK 监督分类对话框类(SupervisedClassificaitonDialog)使用经验
最近研究遥感,用到分类算法,PIE SDK正好提供了一些方法可供调用,他们的官方博客上也有相应的示例代码(可参考:https://www.cnblogs.com/PIESat/p/10725270.h ...
- save density, pressure, velocity, temperature contour at one slice in xy plane-- paraview with batch Python scripts
#### import the simple module from the paraviewfrom paraview.simple import *#### disable automatic c ...
- [bzoj4591][Shoi2015][超能粒子炮·改] (lucas定理+组合计数)
Description 曾经发明了脑洞治疗仪&超能粒子炮的发明家SHTSC又公开了他的新发明:超能粒子炮·改--一种可以发射威力更加 强大的粒子流的神秘装置.超能粒子炮·改相比超能粒子炮,在威 ...
- JavaScript 面向对象的编程(三) 类的继承
定义父类和子类的继承关系 //声明父类 function SuperClass(){ this.superValue = true; } //为父类添加共有方法 SuperClass.prototyp ...
- WIKIOI 1319 玩具装箱
1319 玩具装箱 题目描述 Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维 ...
- Python学习笔记 (2.2)Python中的字符编码问题及标准数据类型之String(字符串)
Python3中的String类型 首先,Python中没有字符类型,只有字符串类型.单个字符按照长度为1的字符串处理,这对于曾是OIER的我来说有点不适应啊. 字符串的表示方法 最常用的就是用一对双 ...
- noip模拟赛 第K小数
[问题描述]有两个正整数数列,元素个数分别为N和M.从两个数列中分别任取一个数相乘,这样一共可以得到N*M个数,询问这N*M个数中第K小数是多少.[输入格式]输入文件名为number.in.输入文件包 ...
- 【CV论文阅读】Rank Pooling for Action Recognition
这是期刊论文的版本,不是会议论文的版本.看了论文之后,只能说,太TM聪明了.膜拜~~ 视频的表示方法有很多,一般是把它看作帧的序列.论文提出一种新的方法去表示视频,用ranking function的 ...
- zoj 月赛
Wumpus Time Limit: 2 Seconds Memory Limit: 65536 KB One day Leon finds a very classic game call ...