- 浏览: 91306 次
- 性别:
文章分类
最新评论
-
freezingsky:
人生从来没有害怕过走下坡,可惜的是,大多数夫妻或者情侣,一到挫 ...
我从11楼跳下去 -
胡旭个人博客:
哈哈,这个早就看过了!
我从11楼跳下去 -
砺雪凝霜:
跳下去自己就后悔了,可是后悔已经来不及了,我们关注的不 ...
我从11楼跳下去 -
kuchaguangjie:
最后没摔死?
我从11楼跳下去 -
无心:
加油!
File类(目录遍历)
一、我们先了解下几个概念:
1.事件源
2.事件
3.事件监听者
在弄清这些概念之前先说个故事:有一个小痞子,在马路上欺负一个小女孩,小女孩向妈妈发出求救信息,妈妈那棍子来赶跑小痞子。故事就这么简单,有人会说,这太扯淡了吧,但是我想说,这个故事可以很好的帮我们理解事件处理机制。
这里小女孩就是事件源,小女孩向妈妈发出求救信息是事件,妈妈就是事件监听者。小痞子出发事件源,事件源通过事件将信息传递给事件监听者,事件监听者做出相应的反应。
二、实现一个类的基本步骤:
1.实现相应的接口(如ActionListener,KeyListener,MouseListener,WindowListener){}
如这里的Demo9_3类实现的ActionListener接口;
public class Demo9_3 extends JFrame implements ActionListener
Dog类实现的ActionListener接口
2.把接口处理的方法根据需要重新编写;
public void actionPerformed(ActionEvent e){}
3.在事件源注册监听
//注册监听
jb1.addActionListener(this);
jb1.addActionListener(dog);
//指定动作指令
jb1.setActionCommand("aa");
jb2.addActionListener(this);
jb2.addActionListener(dog);
//动作指令
jb2.setActionCommand("bb");
4.事件传递靠事件对象
public class Dog implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("aa")){
System.out.println("dog知道你点击了黑的按钮");
}else if(e.getActionCommand().equals("bb")){
System.out.println("dog知道你点击了红的按钮");
}
}
}
比如这里你可以点击黑色按钮通过dog对象触发事件,向控制台输出“dog知道你点击了黑的按钮”。
整个源代码如下package cn.qjb;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Demo9_3 extends JFrame implements ActionListener{
//声明
JPanel mp=null;
JButton jb1=null;
JButton jb2=null;
public static void main(String[] args) {
//实例化对象
Demo9_3 demo=new Demo9_3();
}
//构造器
public Demo9_3(){
mp=new JPanel();
jb1=new JButton("黑色");
jb2=new JButton("红色");
this.add(jb1,BorderLayout.NORTH);
mp.setBackground(Color.black);
this.add(mp);
this.add(jb2,BorderLayout.SOUTH);
//实例化一个Dog对象,一个普通的类也可以监听到
Dog dog=new Dog();
//注册监听
jb1.addActionListener(this);
jb1.addActionListener(dog);
//指定动作指令
jb1.setActionCommand("aa");
jb2.addActionListener(this);
jb2.addActionListener(dog);
//动作指令
jb2.setActionCommand("bb");
this.setSize(200, 150);
this.setDefaultCloseOperation(3);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("aa")){
System.out.println("你点击了黑色按钮");
mp.setBackground(Color.black);
}else if(e.getActionCommand().equals("bb")){
System.out.println("你点击了红色按钮");
mp.setBackground(Color.red);
}
}
public class Dog implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("aa")){
System.out.println("dog知道你点击了黑的按钮");
}else if(e.getActionCommand().equals("bb")){
System.out.println("dog知道你点击了红的按钮");
}
}
}
}
做的很简单的一个关于事件机制理解的例子,如有不足之处请谅解。欢迎指正!
1.事件源
2.事件
3.事件监听者
在弄清这些概念之前先说个故事:有一个小痞子,在马路上欺负一个小女孩,小女孩向妈妈发出求救信息,妈妈那棍子来赶跑小痞子。故事就这么简单,有人会说,这太扯淡了吧,但是我想说,这个故事可以很好的帮我们理解事件处理机制。
这里小女孩就是事件源,小女孩向妈妈发出求救信息是事件,妈妈就是事件监听者。小痞子出发事件源,事件源通过事件将信息传递给事件监听者,事件监听者做出相应的反应。
二、实现一个类的基本步骤:
1.实现相应的接口(如ActionListener,KeyListener,MouseListener,WindowListener){}
如这里的Demo9_3类实现的ActionListener接口;
public class Demo9_3 extends JFrame implements ActionListener
Dog类实现的ActionListener接口
2.把接口处理的方法根据需要重新编写;
public void actionPerformed(ActionEvent e){}
3.在事件源注册监听
//注册监听
jb1.addActionListener(this);
jb1.addActionListener(dog);
//指定动作指令
jb1.setActionCommand("aa");
jb2.addActionListener(this);
jb2.addActionListener(dog);
//动作指令
jb2.setActionCommand("bb");
4.事件传递靠事件对象
public class Dog implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("aa")){
System.out.println("dog知道你点击了黑的按钮");
}else if(e.getActionCommand().equals("bb")){
System.out.println("dog知道你点击了红的按钮");
}
}
}
比如这里你可以点击黑色按钮通过dog对象触发事件,向控制台输出“dog知道你点击了黑的按钮”。
整个源代码如下package cn.qjb;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Demo9_3 extends JFrame implements ActionListener{
//声明
JPanel mp=null;
JButton jb1=null;
JButton jb2=null;
public static void main(String[] args) {
//实例化对象
Demo9_3 demo=new Demo9_3();
}
//构造器
public Demo9_3(){
mp=new JPanel();
jb1=new JButton("黑色");
jb2=new JButton("红色");
this.add(jb1,BorderLayout.NORTH);
mp.setBackground(Color.black);
this.add(mp);
this.add(jb2,BorderLayout.SOUTH);
//实例化一个Dog对象,一个普通的类也可以监听到
Dog dog=new Dog();
//注册监听
jb1.addActionListener(this);
jb1.addActionListener(dog);
//指定动作指令
jb1.setActionCommand("aa");
jb2.addActionListener(this);
jb2.addActionListener(dog);
//动作指令
jb2.setActionCommand("bb");
this.setSize(200, 150);
this.setDefaultCloseOperation(3);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("aa")){
System.out.println("你点击了黑色按钮");
mp.setBackground(Color.black);
}else if(e.getActionCommand().equals("bb")){
System.out.println("你点击了红色按钮");
mp.setBackground(Color.red);
}
}
public class Dog implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("aa")){
System.out.println("dog知道你点击了黑的按钮");
}else if(e.getActionCommand().equals("bb")){
System.out.println("dog知道你点击了红的按钮");
}
}
}
}
做的很简单的一个关于事件机制理解的例子,如有不足之处请谅解。欢迎指正!
发表评论
-
jmeter的下载、安装、启动
2017-09-06 13:08 6211.http://jmeter.apache.org/down ... -
SimpleDateFormat转换时间 12,24时间格式
2016-11-09 13:09 592在使用SimpleDateFormat时格式化时间的 yyy ... -
Mysql权限控制 - 允许用户远程连接
2016-08-10 23:59 575Mysql权限控制 - 允许用户远程连接 -
了解泛型
2016-08-07 00:55 346Java 理论和实践: 了解泛型 识别和避免学习使用泛型过程中 ... -
关于内部类的几点认识
2016-08-05 23:54 3151、非静态内部类:内部类可以访问外部类的成员变量,甚至是私有 ... -
java IO流文件的读写具体实例
2016-07-20 22:28 450参考http://www.jb51.net/article/4 ... -
Helo I have similar problem when I start eclipse. An internal error occurred dur
2016-07-15 23:41 1322打开eclipse出现下面的错误信息: An inter ... -
对象的序列化及反序列化
2016-07-10 23:01 408可参考: Java基础学习总结——Jav ... -
this与super
2016-04-18 21:53 4121、this和super都代表了什么 this: ... -
面向对象之继承
2016-04-18 21:35 4221、继承: 让类与类之间产生关系,子父类关系。 ... -
代码块的概述和分类
2016-04-18 20:48 496A:代码块概述 在Java中使用{}括起来的代 ... -
static关键字
2016-04-11 19:40 3361.static 关键字的特点 >随着类的加载而加载 ... -
main方法结构的详细解释
2016-04-11 17:11 507A格式: public static void main ... -
mai方法格式详细解释
2016-04-11 17:06 01、内存中的五大内存 栈:存储局变量。 堆:允许程序员手 ... -
面向对象-封装
2016-04-01 10:11 36707.01_面向对象(构造方 ... -
面向对象-类与对象
2016-04-01 09:53 33406.01_面向对象(面向对象思想概述)(了解) A ... -
java枚举的7大用法
2014-06-23 11:10 376DK1.5引入了新的类型——枚举。在 Java 中它虽然算个 ... -
文件流的读与写
2014-05-28 00:43 1024文件流的读取有很方法,下面介绍一种文件读与写的方法。 读某一路 ... -
讲的很清晰的HashMap算法
2014-05-12 09:59 505HashMap 和 HashSet 是 Java Collec ... -
for循环遍历的几种方法
2014-05-12 09:38 793J2SE 1.5提供了另一种形式的for循环。借助这种形式的f ...
相关推荐
最后,了解并正确使用事件监听机制是前端开发工程师必备的技能之一。它涉及到的问题不仅包括事件的捕获与冒泡,还有对不同浏览器兼容性的处理,以及事件对象的正确使用。随着前端技术的不断发展,对这些基础知识的...
总之,理解并掌握Spring的事件监听机制对于任何Java开发者来说都是至关重要的,它能够帮助我们更好地利用Spring框架来构建模块化、可维护的系统。通过创建和处理自定义事件,我们可以实现更灵活的业务逻辑,提高代码...
通过理解并熟练运用Android的事件监听机制,开发者可以创建出更丰富、更具交互性的应用,如模拟飞行游戏中的飞机操控,或者其他需要精确用户输入的应用场景。不断探索和实践,是提升Android开发技能的关键。
【标题】:“Windchill交流第三篇:Windchill中的事件监听” 在Windchill系统中,事件监听是一项核心功能,它允许系统在特定事件发生时执行预定义的...理解和掌握这一机制对于深入理解和优化Windchill系统至关重要。
首先,我们需要理解Java AWT(Abstract Window Toolkit)和Swing库中的基础事件监听机制。这两个库提供了许多内置的事件类和监听器接口,如ActionListener用于处理按钮点击,MouseListener和MouseMotionListener用于...
本文将深入探讨事件处理监听器的概念,以及如何在Java或类似的面向对象语言中设置和使用它们。 首先,我们来理解“事件”这个概念。在UI编程中,事件是用户与界面元素交互的结果。例如,当用户点击一个按钮时,就会...
当需要处理ScrollView的滚动事件时,开发者需要深入理解其滚动机制和监听接口。本文将详细探讨ScrollView的滚动事件监听及其相关知识点。 首先,ScrollView的滚动事件监听主要涉及到两个关键接口:...
本文将深入探讨libGDX的事件监听机制。 事件处理在libGDX中的核心是`InputProcessor`接口,它是libGDX输入系统的关键组件。`InputProcessor`提供了多种方法来处理用户的各种输入,如触摸屏点击、键盘按键等。开发者...
在实际开发中,可以参考这样的例子来实践和理解上述的事件监听机制。 总之,理解并正确使用GridView的事件监听是提升用户体验的关键。通过点击和长按事件,我们可以实现各种交互功能,如更换图片、跳转到详情页等。...
为了让初学者更好理解Java事件处理机制及其编程技术,黄增喜、王晓明和于春三位作者提出了一个基于核心概念解析、事件处理流程分析以及角色分工清晰化的教学思路,并给出了相应的教学方法。以下是对这些知识点的详细...
下面我们将深入探讨这些组件以及相关的事件监听器适配器。 首先,事件源是产生事件的对象,通常是UI组件,如按钮、文本框等。当用户与这些组件交互时,事件源会生成相应的事件。例如,当用户点击一个按钮时,按钮...
Java监听键盘鼠标全局事件 Java监听键盘鼠标全局事件是指使用Java语言来监听和处理键盘和鼠标...该技术需要深入了解Java Native Interface、Windows Hook机制、线程和同步等技术细节,以便正确地实现事件监听和处理。
通过这种方式,`ApplicationContext`的事件监听机制可以实现在同一个应用程序上下文中进行组件间的异步通信。虽然它的功能没有完整的消息队列系统强大,如RabbitMQ或Kafka,但在简单的场景下,例如在同一应用内的...
.NET作为微软推出的一个面向对象的编程环境,其事件监听...这些知识对深入理解和运用.NET的事件模型至关重要,对希望编写高质量.NET应用程序的开发者来说,了解这些局限性和扩展方法将大大提升软件的设计质量和性能。
Servlet事件监听器是Java Servlet API提供的一种机制,它允许程序员注册监听器对象来响应特定的服务器或会话事件。主要的监听器类型包括: 1. **ServletRequestListener**:监听请求初始化和销毁事件,可以在请求...
通过分析`download-client-listener-master`这个压缩包内的代码,我们可以进一步了解其具体实现方式,包括可能的事件监听、状态更新机制以及错误处理策略。 总的来说,理解和掌握如何监听浏览器的文件下载事件,...
首先,让我们来了解什么是Java的监听机制。在Java中,监听机制主要用于事件驱动编程,例如用户界面(UI)组件的交互。当一个对象的状态发生变化时,它会通知已经注册的监听器,这些监听器可以响应并采取相应的操作。...
本资源“java+多线程+界面编程+事件监听+坦克大战源码整理”是一个综合性的学习资料,旨在帮助开发者深入理解并实践这些核心概念。下面将对这些知识点进行详细的阐述。 1. **Java多线程**: Java多线程允许程序...