java事件处理2】的更多相关文章

“事件”这个词已经被滥用了.正因为“事件”的被滥用,很多人在用到事件的时候不求甚解,依样画葫芦,导致学习工作了很多年,还是不清楚什么是事件处理器.什么是事件持有者.所以,如果你对于Event这个词还是心存恐惧,那么本文正是你需要的.让我们从易到难,从具体到抽象,一步一步来解释java事件处理机制. 一:观察者模式 要了解事件和监听,我们首先来必须要了解观察者模式. 什么是观察者模式,我们先来看一个熟悉的场景: 1:教师布置作业,通知学生: 2:学生观察到老师布置了作业,开始做作业: 首先我明确下…
第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事件驱动模型初窥 我们要说事件驱动模型是观察者模式的升级版本,那我们就要说说其中的对应关系: 观察者对应监听器(学生) 被观察者对应事件源(教师) 事件源产生事件,监听器监听事件.爱钻牛角尖的朋友可能会说,我擦,什么叫产生事件,监听事件,事件事件到底什么? 莫慌,如果我们用代码来说事,事件源它就是个类,事件就是…
我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们点击鼠标,鼠标发送指令,执行代码. 一:鼠标点击事件处理模型基础版 这个时候,我们必须去查看下JDK中相关类型.对照着上一节<从零开始理解JAVA事件处理机制(2)>中的UML图,我们很快发现,对应HomeworkListener,JDK中有MouseListener,其实我们靠分析也能得知,Mo…
Java事件处理机制:EventObject类作为描述事件信息的事件信息类的基类,由EventListener接口派生新的接口或类来作为事件接收方的类,再定义事件源类. 事件信息类的构造方法必须含有事件源参数和事件信息字符串:事件接收方的事件处理方法必须含有事件信息对象作为参数:事件源类负责事件接收方的注册,取消注册,事件触发和通知事件接收方处理事件.                嘿嘿,如有转载,请声明http://www.cnblogs.com/jinmoon/:        本实例是火灾…
java中的事件机制的参与者有3种角色:   1.event object:就是事件产生时具体的"事件",用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中    2.event source:具体的接受事件的实体,比如说,你点击一个button,那么button就是event source,这样你必须使button对某些事件进行相应,你就需要注册特定的listener,比如说MouseEvent之中的MouseClicked方法,这是他就必须有了a…
原文来自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 */…
本文是关于Java事件处理机制的梳理,以及有重点的介绍一些注意点,至于基础的概念啥的不多赘述. 一.Java事件处理机制初步介绍(看图理解) 根据下图,结合生活实际,可以得知监护人可以有多个,坏人对小孩的操作可以是打,也可以是爱. 得出结论: 一个事件源并不代表只有一个事件监听者,它可以有多个事件监听者. 有过一些基础的都知道,这里会涉及一些接口和类啊,自己查,不赘述.最下面会有代码演示和注释详解,感兴趣的可以拿来练手. 二.Java事件处理机制深入理解 1.事件编程步骤: ①编写事件处理类(事…
自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: import javax.swing.*; import java.awt.*; import java.awt.event.*; /** *Java事件处理机制:自身类作为事件监听器 *@author Winty(wintys@gmail.com) *@version 2008-12-3 */ class ThisClassEvent extends JFrame impleme…
/** * 加深对事件处理机制的理解 * 通过上下左右键来控制一个小球的位置 */package com.test3;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Demo9_4 extends JFrame{ MyPanel mp=null; public static void main(String[] args) { // TODO Auto-generated method stu…
java中的事件机制的参与者有3种角色: 1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中 2.event source:具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener. 3.event listener:对每个明确的事件的发生,都相应地定义一个明确的Java方法.这些方法都集中定义在事件监听者(E…
WindowEvent窗口事件 添加接口 addWindowListener(WindowEvent e) 接口有七个方法 public void windowActivated(WindowEvent e)//非激活到激活 public void windowDeactivated(WindowEvent e)//激活到非激活 public void windowClosing(WindowEvent e)//正在被关闭 public void windowClosed(WindowEvent…
Document事件 这个事件有点特别,需要用getDocument()返回到自己所维护的文档,然后就可以添加监视器 (textArea1.getDocument).addDocumentListener(DocumentListener listen) DocumentListener接口有三个方法 public void changedUpdate(DocumentEvent e) public void removeUpdate(DocumentEvent e) public void i…
1.ActionEven事件 文本框,按钮,菜单项,密码框,单选按钮都可以出发ActionEvent事件 使用 addActionListener(ActionListener listen1) 来注册监视器 ActionListener本来是一个接口,我们必须写类(或者其他接口)来实现它的唯一方法 actionPerformed(ActionEvent e) 这里的e是事件源给该方法的一个参数,ActionEvent类有两个方法 public Object getSource();//返回事件…
实现一个小程序,怎样通过点击不同的按钮,让面板的背景色发生相应的变化,如图: public class Demo2 extends JFrame implements ActionListener{ JPanel mp=null; JButton btn1,btn2; public static void main(String[] args) { Demo2 demo=new Demo2(); } public Demo2(){ mp=new JPanel(); btn1=new JButto…
FocusEvent焦点事件 接口 addFocusListener(FocusListener listener) 有两个方法 public void focusGains(FocusEvent e) public void focusLost(FocusEvent e) 测试代码 class MyWin extends JFrame{ JTextField text1,text2; JButton button1,button2; MyWin(){ init(); setVisible(tr…
鼠标拖动事件 接口MouseMotionListener 两个方法 mouseDragged(MouseEvent)//拖动鼠标 mouseMoved(MouseEvent)//移动鼠标 一个拖动按钮的例子 public class test{ public static void main(String args[]){ MyWin window1=new MyWin(); window1.setBounds(12,12,300,300); } } class MyWin extends JF…
实现一个小程序,怎样让小球受到键盘的控制,上下左右移动,如图: public class Demo3 extends JFrame{ MyPanel mp=null; public static void main(String[] args) { Demo3 demo=new Demo3(); } //构造函数 public Demo3(){ mp=new MyPanel(); //mp加入到JFrame this.add(mp); this.addKeyListener(mp); this.…
常见事件及相应事件源类型 事件源 用户操作 事件 JButton 点击按钮 ActionEvent JTextField 在文本域按回车键 ActionEvent JCheckBox 点击复选框 ActionEvent,  ItemEvent JRadioButton 点击单选按钮 ActionEvent,  ItemEvent JComBox 选定选项 ActionEvent,  ItemEvent JList 选定选项 ListSelectionEvent JMenuItem 选定菜单项 A…
第8章 事件处理 本章内容: * 事件处理基础 * 动作 * 鼠标事件 * AWT事件继承层次 8.1 事件处理基础 在AWT所知的事件范围内,完全可以控制事件从事件源(event source)例如,按钮或滚动条,到事件监听器(event listener)的传递过程,并将任何对象指派给事件监听器.不过事实上,应该选择一个能够便于响应事件的对象.这种事件委托模型(event delegation event)与Visual Basic那种预定义监听器模型比较起来更加灵活. 事件源有一些向其注册…
import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; /* 栗子 事件监听了解*/ class Cat implements ActionListener{ public void actionPerformed(ActionEvent arg0){ if(arg0.getActionCommand().equals("黑色&qu…
  像activeMQ等消息队列中,我们经常会使用发布订阅模式,但是你有没有想过,客户端时如何及时得到订阅的主题的信息?其实就里就用到了观察者模式.在软件系统中,当一个对象的行为依赖于另一个对象的状态时,观察者模式就相当有用.如果不使用观察者模式提供的通用结构,而需要我们实现类似的功能,想想我们该如何实现,我们只能在另外一个线程不断监听对象所依赖的状态.当然下面的例子都是基于一个进程内观察者模式的举例,你可能会和我当初一样不解,消息队列中的消费者是通过socket进行通信得到订阅的主题的信息.其…
1,Java事件处理机制 (1)三部分:事件源.事件(处理)对象.实现事件监听器: (2)事件处理程序:可以通过ActionEvent e,e.getSource确定是哪个事件触发了,然后通过类似JButton jbutton  = (JButton)e.getSource();与已有的组件进行比较进行 判断; 2,文件对象 (1)文件对象:File file = new File(“路径”);file.createFile创建文件,file.mkdir();创建目录;file.exists,是…
华为Java笔试题+数据库题 一. 单项选择题 1.Java是从( )语言改进重新设计. A.Ada B.C++ C.Pasacal D.BASIC 2.下列语句哪一个正确( ) A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D. 以上都不正确 3.下列说法正确的有( ) A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与clas…
java平台 1.J2SE java开发平台标准版 2.J2EE java开发平台企业版 java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序.不同系统上要安装对应的虚拟机才可以运行java程序 开发步骤 1.编写源文件 (.java) 2.编译源文件为类文件(.class)可用J2SE或J2EE编译 3.在虚拟机上运行 注释 //单行注释 /* */多行注释 java内容介绍 java编程可以分成三个方向: 1.java se (j2se)桌面开发  java中…
概述 它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应.在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间可以没有任何相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展. 观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新.观察者模式的别名包括发布-订阅(Publish…
自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: import javax.swing.*; import java.awt.*; import java.awt.event.*; /** *Java事件处理机制:自身类作为事件监听器 *@author Winty(wintys@gmail.com) *@version 2008-12-3 */ class ThisClassEvent extends JFrame impleme…
最近在看Tomcat和Spring的源码,在启动的时候注册了各种Listener,事件触发的时候就执行,这里就用到了设计模式中的观察者模式. 引-GUI中的事件监听 想想以前在学Java的GUI编程的时候,就用到了事件的注册监听,然后写了一个小程序试验一下: 点击按钮触发相应的事件 public class ButtonTest extends JFrame { ButtonTest() { JPanel panel = new JPanel(); JButton button1 = new J…
Java中泛型的本质 Java中静态变量的适用场景 Java类加载原理及类加载器 Java中对Clone的理解 Java中HashMap的实现 Java中Collection和Collections的区别 Java数组浅析 Java代码优化编程 Java事件处理机制与“恋爱关系” Java中的JNDI (Java命名与目录接口) Java中Comparable和Comparator实现对象比较 Java中String和StringBuffer的区别 Java中Heap与Stack的区别 Java…
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11435127.html 作业学习目标 理解泛型概念: 掌握泛型类的定义与使用: 掌握泛型方法的声明与使用: 掌握泛型接口的定义与实现: 了解泛型程序设计,理解其用途. 本章内容: 11.1 事件处理基础 在AWT所知的事件范围内,完全可以控制事件从事件源(event…
JavaFx项目 新建完项目,我们的项目有三个文件 Main.java 程序入口类,载入界面并显示 Controller.java 事件处理,与fxml绑定 Sample.fxml 界面 sample.fxml需要通过标签fx:controller定义对应的controller <!-- 最外层的那个布局使用fx:controller属性即可 --> <FlowPane fx:controller="sample.Controller" ..> </Flo…