导航:首页 > 编程语言 > java事件模式

java事件模式

发布时间:2022-06-21 23:25:08

‘壹’ java事件驱动模型 是什么设计模式

HTTP 1.1 是一个请求响应模式的协议,这就限制了相关的实现中,在一个tcp会话上(socket),requets发出来之后就进入 等待 response的状态。 异步是为了解决当进行不涉及到大量CPU运算而耗时又相当长时释放CPU的处理时间。

‘贰’ 1.java的事件处理机制是怎样的

java事件处理机制你必须得明确以下几个概念:
核心:java采用的是事件源——事件监听器模型
1:事件(event):是指一个状态的改变,或者一个活动的发生。例如,简单常见的是单击一个按钮,或者输入一个按键都是一个事件。
2:事件源(event source):能够产生事件的对象称为事件源,如文本框,按钮,下拉列表等。
3:事件监听器(event listener):需要一个对象对事件源进行监听,以便对发生的事件做出处理,该对象就是事件监听器。事件源通过调用相应的方法将某个对象作为自己的监听器。无论应用程序还是小程序都采用这一机制。
例,对于按钮,注册监听器的方法是 addActionListener(监视器);:
4: 事件源获得监听器之后,相应的操作就会导致事件的发生,并通知监听器,监听器就会做出相应的处理。
5:处理事件的接口:监听器负责处理事件源发生的事件。为了处理事件源发生的事件,监听器会自动调用一个方法来处理事件,该方法定义在相应事件的接口中。

‘叁’ java自定义事件,线程a如何每一秒钟触发一个事件,然后另一个线程b监听之,并作出反应

线程a是作为事件源,那么线程a这个类就必须提供一个可以增加监听器的方法,就像GUI编程中的addActionListener这个样的方法。线程a这个类里面是有一个专门存放监听器的一个容器,例如是list。然后你 增加监听器的方法就是把监听器放进这个容器里面。你用一个监听器去监听一个事件的发生,就可以在线程a这个类中,写一个产生事件的一段代码,然后每当产生一个事件之后,去遍历list,去调用监听器的对于这个事件的处理方法,这样子就可以了。这应该就是java中的事件模式。

‘肆’ 简述java编程中事件处理模式。

叫注册侦听模式。
就是对事件感兴趣的对象把自己注册到事件源对象那里,然后事件源对象当事件发生时就会一次调用注册到自身的那些对象的而相应方法。然后事件就被处理了。

‘伍’ java中事件机制是一种什么设计模式

是对发出事件的疑惑。每个平台的具体实现方法不同,不过你可以假象这样的状况:
在程序的底层有一个消息循环,专门检测各种状态,当一些状态改变时就“发出事件”。例如键盘输入会设置一个状态,程序在消息循环里看到了状态的改变,于是调用onKeyDown、onKeyUp等方法。这种与I/O相关的事件涉及到操作系统也不奇怪。
就是说在实现图形界面的库的底层会有类似这样的循环:

‘陆’ java的事件处理机制是怎样

JAVA中当事件发生时,他不会进行广播,而是仅仅向关心此事件的对象发送消息。那么他怎么知道谁“关心”此事件呢。
这就要求关心此事件的对象,先行向事件的发出方进行注册,表示我关心此事件,当事件发生时请通知我。

【简单来说】:就是事件的“处理方”向事件的“发出方”先行注册,当事件发生时,事件的“发生方”负责通知事件的“处理方”。

譬如我编写一个窗口,用到了JFrame,我想实现一个功能,当按下Q键时,窗口关闭。

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;

public class TestFrame extends JFrame {
private static final long serialVersionUID = 5671798241966272024L;

public static void main(String[] args) {
new TestFrame();
}

public TestFrame() {
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
addKeyListener(new MyKeyListener());// 这句话就是所谓的注册事件。
// MyKeyListener作为事件的处理方,向事件的触发方TestFrame进行注册。
// 这句话的意思是说,MyKeyListener对TestFrame说,我对于你的键盘事件感兴趣,如果有键盘事件请告诉我。
// 而TestFrame有一个列表保存着MyKeyListener对象的引用。当键盘按下时,他会列表中所有引用,调用KeyPressed方法。
// 当键盘松开时还会调用keyReleased方法,但是我们对于键盘松开不太关心,所以下面的类,我们可以只编写KeyPressed方法。
}

private final class MyKeyListener extends KeyAdapter {

@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_Q) {
System.exit(0);
}
}
}
}

‘柒’ 简述java事件处理机制

java事件处理机制你必须得明确以下几个概念:
核心:java采用的是事件源——事件监听器模型
1:事件(event):是指一个状态的改变,或者一个活动的发生。例如,简单常见的是单击一个按钮,或者输入一个按键都是一个事件。
2:事件源(event source):能够产生事件的对象称为事件源,如文本框,按钮,下拉列表等。
3:事件监听器(event listener):需要一个对象对事件源进行监听,以便对发生的事件做出处理,该对象就是事件监听器。事件源通过调用相应的方法将某个对象作为自己的监听器。无论应用程序还是小程序都采用这一机制。
例,对于按钮,注册监听器的方法是 addActionListener(监视器);:
4: 事件源获得监听器之后,相应的操作就会导致事件的发生,并通知监听器,监听器就会做出相应的处理。
5:处理事件的接口:监听器负责处理事件源发生的事件。为了处理事件源发生的事件,监听器会自动调用一个方法来处理事件,该方法定义在相应事件的接口中。

‘捌’ Java中什么是委托事件处理模型

什么是委托事件模型
在教材上的图中,我们可以发现,用户通过键盘、鼠标等进行操纵的行为,最终都传递给了JVM,那么JVM在接收到这些事件以后该如何处理呢?我们把这种处理事件的方案,称之为事件模型。

Java中采用的是委托事件模型:jdk1.1以后,引入的一种新的事件代理模块,通过它,事件源发出的事件被委托给(注册了的)事件监听器(Listener),并由它负责执行相应的响应方法。比如:病人生病请医生。

基于这种模型,我们使用两种类型的对象来执行事件机制,这两种对象是:
事件源对象
事件的侦听对象

委托事件模型的实现步骤
在java语言中委托事件模型的处理步骤如下:
1.建立事件源对象。如各种GUI的组件。
2.为事件源对象选择合适的事件监听器。比如事件源对象如果是“按钮”,那么我们能想到的发生在按钮身上最多的,应该是单击事件了。这时我就应该选择鼠标单击事件的监听器。
3.为监听器添加适当的处理程序。比如当按钮单击事件发生后,希望完成的代码。
4.为监听器与事件源建立联系。

窗体自身实现事件监听
我们在刚才的例子中使用了两个对象,一个是事件源对象,即JFrame窗体,另外还创建了一个监听器对象。事实上在实际开发过程中,我们往往,将这两个类写在一起,就是说一个窗体类自己监听自己的事件

其他事件监听器接口的使用
Java支持的事件监听器接口非常多,常见的主要有:

ActionListener 行为监听接口
AdjustmentListener 调整监听接口
ItemListener 选项监听接口
TextListener 文本监听接口
ComponentListener 组件监听接口
KeyListener 键盘监听接口
MouseListener 鼠标点击监听接口
MouseMotionListener 鼠标移动监听接口
FocusListener 光标聚焦监听接口
WindowListener 窗体监听接口
ContainerListener 容器监听接口

KeyListener接口与KeyAdapter类
KeyListener接口:监听键盘事件。

该接口中定义了如下三个方法:
keyPressed() 键盘按下时触发
keyReleased() 键盘释放时触发
keyTyped() 键盘单击一次时触发

KeyAdpeter适配器:即使我们只想使用上述三个方法中的一种,那么我们也必须在KeyListener接口的实现类中对这三种方法进行重写,这种方式显然增加了很多无效代码,我们可以使用适配器模式解决。

匿名内部类

WindowListener接口与WindowAdapter类
WindowListener接口:监听窗体的行为。

windowListener接口常用方法:
windowActivated(WindowEvent e) 将 Window 设置为活动 Window 时 调用。

windowClosed(WindowEvent e) 因对窗口调用 dispose 而将其关闭 时调用。
windowClosing(WindowEvent e) 用户试图从窗口的系统菜单中关闭窗 口时调用。
windowDeactivated(WindowEvent e) 当 Window 不再是活动 Window 时调用。
windowDeiconified(WindowEvent e) 窗口从最小化状态变为正常状 态时调用。

windowIconified(WindowEvent e) 窗口从正常状态变为最小化状态 时调用。

windowOpened(WindowEvent e) 窗口首次变为可见时调用。

MouseListener接口与MouseAdapter类
MouseListener接口:监听鼠标点击的行为。

MouseListener接口常用方法:
mouseClicked(MouseEvent e) 鼠标按键在组件上单击(按下并释放)时调用。
mouseEntered(MouseEvent e) 鼠标进入到组件上时调用。
mouseExited(MouseEvent e) 鼠标离开组件时调用。
mousePressed(MouseEvent e) 鼠标按键在组件上按下时调用。
mouseReleased(MouseEvent e) 鼠标按钮在组件上释放时调用。

MouseMotionListener接口与MouseMotionAdapter类
MouseMotionListener接口:监听鼠标移动的行为。

MouseMotionListener接口常用方法:
mouseDragged(MouseEvent e) 鼠标按键在组件上按下并拖动时调用。
mouseMoved(MouseEvent e) 鼠标按键在组件上移动(无按键按下)时调用

‘玖’ java 状态机模式 事件 状态 当前状态有多个下一状态

大多数的应用程序如果在开发时考虑采用两个以上线程,那么一般情况下是为每个线程分配了独立的功能,且这些功能能够逗并发地地执行。讲一个二楼同学说到的网络I/O例子:点对点的聊天工具,需要在我们编写信息的同时能够接受并打印出来对方说的话。

阅读全文

与java事件模式相关的资料

热点内容
不会数学英语如何编程 浏览:88
如何能知道网站服务器地址 浏览:648
程序员月薪5万难吗 浏览:138
如何评价程序员 浏览:803
云虚机和服务器的区别 浏览:403
广西柳州压缩机厂 浏览:639
arm开发编译器 浏览:833
51单片机的核心 浏览:746
看电视直播是哪个app 浏览:958
将c源程序编译成目标文件 浏览:787
再要你命3000pdf 浏览:558
ai软件解压软件怎么解压 浏览:520
文件夹怎样设置序列号 浏览:963
javascriptgzip压缩 浏览:248
易语言怎么取出文件夹 浏览:819
苹果xs手机加密app哪里设置 浏览:605
超声雾化器与压缩雾化器 浏览:643
模拟实现进程调度算法 浏览:388
现在的压缩包都是加密 浏览:331
施工员找工作去哪个app 浏览:632