第一种 自身类作为事件监听器

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 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();

}

}

第三种 匿名内部类作为事件监听器

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 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);

}

}

/**************************************/

事件处理 java_Java事件处理的4种方法相关推荐

  1. React绑定事件处理函数this的几种方法

    在以类继承的方式定义的组件中,为了能方便地调用当前组件的其他成员方法或属性(如:this.state),通常需要将事件处理函数运行时的 this 指向当前组件实例. 绑定事件处理函数this的几种方法 ...

  2. Framework事件机制—Android事件处理的三种方法

    1.1.背景 Android的事件处理的三种方法: 1.基于监听的事件处理机制 setOnClickListener,setOnLongClickListener.setOnTouchListener ...

  3. php 解析java map,java_java遍历Map的几种方法分析,本文实例分析了java遍历Map的几 - phpStudy...

    java遍历Map的几种方法分析 本文实例分析了java遍历Map的几种方法.分享给大家供大家参考,具体如下: Java代码: Map map=new HashMap(); map.put(" ...

  4. object string java_java实现Object转String的4种方法小结

    1.object.toString()方法 这种方法要注意的是object不能为null,否则会报NullPointException,一般别用这种方法. 2.String.valueOf(objec ...

  5. zpl java_JAVA调用DLL的两种方法-ZPL中文打印(作者不详,如有冒犯,请联系我)...

    JAVA调用DLL的两种方法 (2008-03-05 17:24:48) 标签: 问题描述: 方法一,使用JNI: public class TestNative { private native s ...

  6. 产生随机字符java_java生成随机字符串的两种方法

    本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下 import java.util.Random; public class CharacterUtils { //方法1 ...

  7. Cocos2d-x 处理双击事件的两种方法

    在cocos2d-x的开发过程中有些时候也是需要用到双击的事件处理,那么由于在cocos2d-x中没有实现对双击的事件的处理,那么我们就需要自己用代码实现. 下面介绍两种方式实现双击事件的处理. (一 ...

  8. plupload上传插件绑定事件的两种方法

    在经受一天的磨难之后终于找到处理事件方法: 先引用: <script src="js/plupload.full.min.js" type="text/javasc ...

  9. iOS 两种方法实现左右滑动出现侧边菜单栏 slide view

        现在很多的APP中都有slide view,左右滑动出现侧边菜单栏的功能,Weico这个应用就有. 网上有很多第三方的类库实现了这种效果,其实自己代码写的话也是很简单的,下面我将介绍两种方法实 ...

最新文章

  1. 化敌为友 运营商组团拥抱OTT为哪般
  2. 区块链相关论文研读2 - vChain,关于可验证的查询
  3. mysql主程序目录_MySQL™ 参考手册(目录)
  4. word编辑论文技巧
  5. Python之路【第五篇续】:面向对象编程二
  6. GridSearchCV 参数
  7. 每隔一段时间执行php_用php脚本,你如何定时更新商品列表
  8. matlab转自张朋飞
  9. CPP-week fourteen
  10. 美了哭了,AduSkin是我见过最好看的WPF控件库
  11. 【国家统计局】统计用区划和城乡划分代码2019
  12. Android开发--内容提供者(Content provider)
  13. 模拟小白:挑战23天JAVA程序设计从入门到精通第一天
  14. Win10更新的若干弊端以及关闭Win10更新方法
  15. 简单的EasyUI登录界面
  16. 简单的员工信息管理系统
  17. MATLAB 画图--图形属性设置
  18. linux安装git及使用
  19. linux 查看即时网速 /流量
  20. Linux命令之ethtool命令

热门文章

  1. 【Android】 -- 使用UncaughtExceptionHandler捕捉全局异常
  2. Kernel那些事儿之内存管理(2) --- 百闻不如一见
  3. Node.js有了新的管理者
  4. python 细枝末节
  5. MySQL 服务器变量 数据操作DML-视图
  6. ASP.NET MVC3书店--第五节 表单编辑(第二部分)(转)
  7. 网络工程师之广域网必胜篇一
  8. cartographer学习笔记--如何保存cartagrapher_ros建好的地图
  9. 机器学习——人工神经网络之BP算法编程(python二分类数据集:马疝病数据集)
  10. oracle 命令日志输出,ORACLE常用命令日志