事件处理 java_Java事件处理的4种方法
第一种 自身类作为事件监听器
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种方法相关推荐
- React绑定事件处理函数this的几种方法
在以类继承的方式定义的组件中,为了能方便地调用当前组件的其他成员方法或属性(如:this.state),通常需要将事件处理函数运行时的 this 指向当前组件实例. 绑定事件处理函数this的几种方法 ...
- Framework事件机制—Android事件处理的三种方法
1.1.背景 Android的事件处理的三种方法: 1.基于监听的事件处理机制 setOnClickListener,setOnLongClickListener.setOnTouchListener ...
- php 解析java map,java_java遍历Map的几种方法分析,本文实例分析了java遍历Map的几 - phpStudy...
java遍历Map的几种方法分析 本文实例分析了java遍历Map的几种方法.分享给大家供大家参考,具体如下: Java代码: Map map=new HashMap(); map.put(" ...
- object string java_java实现Object转String的4种方法小结
1.object.toString()方法 这种方法要注意的是object不能为null,否则会报NullPointException,一般别用这种方法. 2.String.valueOf(objec ...
- zpl java_JAVA调用DLL的两种方法-ZPL中文打印(作者不详,如有冒犯,请联系我)...
JAVA调用DLL的两种方法 (2008-03-05 17:24:48) 标签: 问题描述: 方法一,使用JNI: public class TestNative { private native s ...
- 产生随机字符java_java生成随机字符串的两种方法
本文实例为大家分享了java生成随机字符串的具体代码,供大家参考,具体内容如下 import java.util.Random; public class CharacterUtils { //方法1 ...
- Cocos2d-x 处理双击事件的两种方法
在cocos2d-x的开发过程中有些时候也是需要用到双击的事件处理,那么由于在cocos2d-x中没有实现对双击的事件的处理,那么我们就需要自己用代码实现. 下面介绍两种方式实现双击事件的处理. (一 ...
- plupload上传插件绑定事件的两种方法
在经受一天的磨难之后终于找到处理事件方法: 先引用: <script src="js/plupload.full.min.js" type="text/javasc ...
- iOS 两种方法实现左右滑动出现侧边菜单栏 slide view
现在很多的APP中都有slide view,左右滑动出现侧边菜单栏的功能,Weico这个应用就有. 网上有很多第三方的类库实现了这种效果,其实自己代码写的话也是很简单的,下面我将介绍两种方法实 ...
最新文章
- 化敌为友 运营商组团拥抱OTT为哪般
- 区块链相关论文研读2 - vChain,关于可验证的查询
- mysql主程序目录_MySQL™ 参考手册(目录)
- word编辑论文技巧
- Python之路【第五篇续】:面向对象编程二
- GridSearchCV 参数
- 每隔一段时间执行php_用php脚本,你如何定时更新商品列表
- matlab转自张朋飞
- CPP-week fourteen
- 美了哭了,AduSkin是我见过最好看的WPF控件库
- 【国家统计局】统计用区划和城乡划分代码2019
- Android开发--内容提供者(Content provider)
- 模拟小白:挑战23天JAVA程序设计从入门到精通第一天
- Win10更新的若干弊端以及关闭Win10更新方法
- 简单的EasyUI登录界面
- 简单的员工信息管理系统
- MATLAB 画图--图形属性设置
- linux安装git及使用
- linux 查看即时网速 /流量
- Linux命令之ethtool命令
热门文章
- 【Android】 -- 使用UncaughtExceptionHandler捕捉全局异常
- Kernel那些事儿之内存管理(2) --- 百闻不如一见
- Node.js有了新的管理者
- python 细枝末节
- MySQL 服务器变量 数据操作DML-视图
- ASP.NET MVC3书店--第五节 表单编辑(第二部分)(转)
- 网络工程师之广域网必胜篇一
- cartographer学习笔记--如何保存cartagrapher_ros建好的地图
- 机器学习——人工神经网络之BP算法编程(python二分类数据集:马疝病数据集)
- oracle 命令日志输出,ORACLE常用命令日志