[转]Java事件处理机制- 事件监听器的四种实现方式
原文来自http://stefan321.iteye.com/blog/345221
- 自身类作为事件监听器
- 外部类作为事件监听器
- 匿名内部类作为事件监听器
- 内部类作为事件监听器
自身类作为事件监听器:
- 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);
- );
- 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);
- );
- 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);
- );
- 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);
- );
- 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事件处理机制- 事件监听器的四种实现方式
自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: import javax.swing.*; import java.awt.*; i ...
- 【转】转帖并注释: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.事件监听器: 事件监听器负责监听 ...
- 从零开始理解JAVA事件处理机制(2)
第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事 ...
- java事件处理机制
java中的事件机制的参与者有3种角色: 1.event object:就是事件产生时具体的"事件",用于listener的相应的方法之中,作为参数,一般存在与listerne ...
- 从零开始理解JAVA事件处理机制(3)
我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...
- Java事件处理机制(深入理解)
本文是关于Java事件处理机制的梳理,以及有重点的介绍一些注意点,至于基础的概念啥的不多赘述. 一.Java事件处理机制初步介绍(看图理解) 根据下图,结合生活实际,可以得知监护人可以有多个,坏人对小 ...
- 从零开始理解JAVA事件处理机制(1)
“事件”这个词已经被滥用了.正因为“事件”的被滥用,很多人在用到事件的时候不求甚解,依样画葫芦,导致学习工作了很多年,还是不清楚什么是事件处理器.什么是事件持有者.所以,如果你对于Event这个词还是 ...
随机推荐
- MongoDB一键安装
#!/bin/bash export lang=Cecho '#1.关闭本地的MongoDB'#service mongodb stopecho '#2.清空本地MongoDB的安装文件'rm -rf ...
- mysql sql文件批量处理
简单动作复杂化,导致处理文件误入坑, 数据库拷贝,备份还原是每个面向对象的开发人员避免不了的动作,在数据库使用中,习惯性的使用第三方数据库管理软件,最近需要做数据库迁移,导出的批量sql文件不知如何区 ...
- JQ 查找 两个同辈元素之间 的同辈元素 nextUntil() 用于做一个多级菜单
可以应用的地方,参考了淘宝的API菜单列表 我自己的应用
- day34-python操作redis三
Hash类型操作 Hash类型操作 Redis在内存中存储hash类型是以name对应一个字典形式存储的 hset(name,key,value) #name对应的hash中设置一个键值对(不存在,则 ...
- 遇见 TiDB
遇见 TiDB 文章来源:企鹅号 - 塔塔驿站 最近TiDB掀起了一波分布式数据库的热潮,公司也在着手准备TiDB的落地工作,前几天也参与了几场公司针对TiDB的分享会,下面我们了解一下关于TiDB. ...
- 201671010142 java类与对象的定义及使用
通过这章学习,了解到面向对象程序设计.面向对象的程序设计是有对象组成的,每个对象对用户公开的特定功能部分和隐藏的实现部分.有类构造对象的过程称为创建类的实例.实现封装的关键在于绝对不能让类中的方法直接 ...
- C#获取文件目录
Form1.cs using System;using System.Collections.Generic;using System.ComponentModel;using System.Data ...
- Java中==和equals的比较
1.== (1)基本数据类型:比较值 基本类型有8种: 整数型:byte 字节类型:1个字节(8位) short 短整型:2个字节(16位) int 整数类型:4个字节(32位) Java默认 ...
- ip本地查询
下载地址:http://www.cz88.net/ http://www.crsky.com/soft/2611.html QQWry.dat文件在结构上分为3块:文件头,记录区,索引区. 一般我们要 ...
- 剑指Offer 16. 合并两个排序的链表 (链表)
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 题目地址 https://www.nowcoder.com/practice/d8b6b4358 ...