事件监听机制
来源:互联网 发布:linux rpm yum 编辑:程序博客网 时间:2024/06/03 22:02
事件监听机制
1.事件监听机制的流程图:
2.不同种类的事件监听机制;
<1>.以自身的类创建事件监听器:
import java.awt.Button;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
/**
*@ClassName: Listener.java
*@Decription: TODO
*@author LIU
*
*@version: V1.0
*@Date: 2015年9月22日下午9:07:37
*/
public class Listener extends JFrame implements ActionListener {
public Listener(){
super("以本身的类创建事件监听器");
setBounds(200,200,400,400);
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Button bn = new Button("改变颜色");
bn.setBounds(250, 250, 20, 20);
bn.addActionListener(this);
Container ct = getContentPane();
ct.add(bn);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
Container c= getContentPane();
c.setBackground(Color.red);
System.out.println("你的颜色已经改变");
}
public static void main(String[] args){
new Listener();
}
}
<2>.用外部类创建事件监听器:
/**
*
*/
package edu.neuq.GUI;
import java.awt.Button;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
/**
*@ClassName: Listener02.java
*@Decription: TODO
*@author LIU
*
*@version: V1.0
*@Date: 2015年9月22日下午10:00:39
*/
public class Listener02 extends JFrame{
public Listener02(){
super("使用外部类创建事件监听器");
setBounds(200,200,400,400);
setLayout(new FlowLayout());
Button bn = new Button("数值增加");
bn.addActionListener(new myActionListener());
Container c= getContentPane();
c.add(bn);
setVisible(true);
}
public static void main(String[] args){
new Listener02();
}
}
class myActionListener implements ActionListener{
int i = 1;
public void actionPerformed(ActionEvent e) {
System.out.println(i++);
}
}
3.匿名内部类作为事件监听器:
/**
*
*/
package edu.neuq.GUI;
import java.awt.Button;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
/**
*@ClassName: Listener03.java
*@Decription: TODO
*@author LIU
*
*@version: V1.0
*@Date: 2015年9月22日下午10:21:39
*/
public class Listener03 extends JFrame {
public Listener03(){
setSize(500,500);
setLocation(100,100);
setLayout(new FlowLayout());
Button bnt = new Button("数值减少");
bnt.setSize(20, 20);
bnt.setSize(50,50);
bnt.addActionListener(new ActionListener(){
int i = 100;
public void actionPerformed(ActionEvent e) {
System.out.println(i--);
}
});
Container ct = getContentPane();
ct.add(bnt);
setVisible(true);
}
public static void main(String[] args){
new Listener03();
}
}
4.内部类作为事件监听器:
/**
*
*/
package edu.neuq.GUI;
import java.awt.Button;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
/**
*@ClassName: Listener04.java
*@Decription: TODO
*@author LIU
*
*@version: V1.0
*@Date: 2015年9月22日下午10:40:37
*/
public class Listener04 extends JFrame{
public Listener04(){
super("内部类作为事件监听器");
setSize(400,400);
setLocation(100,100);
setLayout(new FlowLayout());
Button bnt = new Button("改变颜色");
bnt.addActionListener(new ActionListener01());
bnt.setSize(20,20);
bnt.setLocation(50,50);
Container ct =getContentPane();
ct.add(bnt);
setVisible(true);
}
class ActionListener01 implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
Container ct = getContentPane();
ct.setBackground(Color.gray);
}
}
public static void main(String[] args){
new Listener04();
}
}
- javascript事件监听机制
- java事件监听机制
- 描述事件监听机制
- 描述事件监听机制
- 描述事件监听机制
- android事件监听机制
- GUI事件监听机制
- 事件监听机制
- 事件监听机制
- 事件监听机制
- js事件监听机制
- 事件监听机制
- JavaScript事件监听机制
- 事件监听机制
- java事件监听机制
- 事件监听机制
- 事件监听机制
- 事件监听机制
- iOS讲解迷惑深入浅出之GCD利用屏障模拟玩家进入游戏读取数据
- JDBC链接SQLServer详解
- 分布式双活数据中心部署模式
- LRU缓存算法设计
- 安卓相关知识
- 事件监听机制
- colour name
- 并查集(种类并查集)POJ1703Find them, Catch them解题报告
- poj 2826 一道神奇的水题,死活都过不了,等以后再看吧
- 给定一个随机数生成器(0,1),构造一个随机数生成器(0,4)
- Struts2的数据结构
- 位域
- 一个简单的PE感染病毒
- UIWebView的一些用法总结