您的位置:

浅谈用java实现事件驱动机制(如何理解事件驱动机制)

本文目录一览:

谁能给我讲讲java中的请求驱动和事件驱动?

什么是事件驱动模型?

在讲解事件驱动模型之前,我们现在看看事件驱动模型的三大要素:

·事件源:能够接收外部事件的源体。

·侦听器:能够接收事件源通知的对象。

·事件处理程序:用于处理事件的对象。

学员应该要理解任何基于事件驱动模型的开发技术都包含以上三大要素,不管是.net还是java技术,甚至是以前我们使用的Visual Basic和Delphi语言都有基于以上三大要素的事件驱动模型开发流程。

现在我们来看一个生活中的示例,假如有一天你走在路上一不小心被天上掉下来的花瓶砸到了,并且晕死了过去。那么整个过程其实就是一个事件处理流程,而且我们可以非常方便的分析出刚才所提到的事件驱动模型中的三大要素。

1.被砸晕的这个人其实就是事件源,因为他是能够接受到外部的事件的源体。

2.侦听器就是这个人的大脑神经,因为它会感知到疼痛。

3.事件处理就是这个人晕死了过去。

由于事件驱动模型在我们日常生活中是无处不在的,因此Java和其他的编程语言都将这一过程运用到了可视化编程中了。

这样的计算器界面,Java如何设计其事件驱动程序?

你可以这样,这里主要的难点应该是点击这个“=”号对运算符号的处理,你在程序里面定义一个字符串且为全局变量,static String s=null;,点击“+”按钮的事件处理代码为button1.addActionListener(new ActionListener(){

s="+";

});

点击“-”按钮的事件处理代码为:

button2.addActionListener(new ActionListener(){

s="-";

});

点击“*”按钮的事件处理代码为:

button3.addActionListener(new ActionListener(){

s="*";

});

点击“/”按钮的事件处理代码为:

button3.addActionListener(new ActionListener(){

s="/";

});

最后就是对这“=”按钮的事件处理,从你界面上看,“运算数一”、“运算数二”、“运算结果”都应该是JTextField或者TextField,以JTextField为例,

JTextField text1="0.";

JTextField text2="0.";

JTextField text3="0.";

“=”按钮的事件响应:

button.addActionListener(new ActionListener(){

String s1=text1.getText();

String s2=text2.getText();

long result=0L;

if(s.equals("+"))

result= Integer.parseInt(s1)+Integer.parseInt(s2);

f(s.equals("-"))

result= Integer.parseInt(s1)-Integer.parseInt(s1);

if(s.equals("*"))

result= Integer.parseInt(s1)*Integer.parseInt(s1);

if(s.equals("/"))

result= Integer.parseInt(s1)/Integer.parseInt(s1);

text3.setText(Long.toString(resutl));

});

至于其他的数字按钮的事件响应就不用我一一在写了吧,很简单的,就是点击某个数字按钮,比如5,就把5这个数字放入当前的JTextField中就行了,假设当前光标在“运算数一”那一栏,例:

button_5.addActionListener(new ActionListener(){

text1.setText(text1.getText()+button_5.getText());

});

就这样了,我没有用编译器写,可能编译有不对的地方,但是思路就是这样,很简单的!

在已经编写好的Java“静态”GUI界面程序基础上要实现事件驱动功能,通常又必须包含四个基本步骤?

在已经编写好的Java“静态”GUI界面程序基础上要实现事件驱动功能,通常又必须包含四个基本步骤?

写出Java事件驱动机制的工作原理

Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的强大工具。Java Swing组件自动产生各种事件来响应用户行为。如当用户点击按钮或选择菜单项目时,Swing组件会产生一个ActionEvent。Swing组件会产生许多事件,如ActionEvents,ChangeEvents,ItemEvents等,来响应用户的鼠标点击行为,列表框中值的改变,计时器的开始计时等行为。在Java Swing编程中,通过注册监听器,我们可以监听事件源产生的事件,从而在事件处理程序中处理我们所需要处理的用户行为。

Java Swing中处理各组件事件的一般步骤是:

1. 新建一个组件(如JButton)。

2. 将该组件添加到相应的面板(如JPanel)。

3. 注册监听器以监听事件源产生的事件(如通过ActionListener来响应用户点击按钮)。

4. 定义处理事件的方法(如在ActionListener中的actionPerformed中定义相应方法)。

以上步骤我们可以用多种方法实现。但人们通常用二种方法。第一种方法是只利用一个监听器以及多个if语句来决定是哪个组件产生的事件;第二种方法是使用多个内部类来响应不同组件产生的各种事件,其具体实现又分两种方式,一种是匿名内部类,一种是一般内部类。

JAVA中的事件驱动编程怎么理解

事件驱动

那么什么是事件呢?比如说抬手,吃苹果,玩手机,打英雄联盟,说白了就是一个动作

那么驱动是什么呢?比如说抬起手来看看手中的手机有没有消息,玩手机看到一条很有意思的说说,打英雄联盟输了,说白了就是事件产生的后续结果。

那么事件驱动就是一个因果关系,我触发了什么,什么就会执行,如果有个中间人,那么就会告诉中间人,我干了什么,比如说Java中的按钮的点击事件,就是这样的。希望以上对你的理解有所帮助。

什么是事件驱动编程机制

事件驱动编程机制为需要处理的事件编写相应的事件处理程序

要理解事件驱动和程序,就需要与非事件驱动的程序进行比较。

实际上,现代的程序大多是事件驱动的,比如多线程的程序,肯定是事件驱动的。

早期则存在许多非事件驱动的程序,这样的程序,在需要等待某个条件触发时,会不断地检查这个条件,直到条件满足,这是很浪费cpu时间的。

而事件驱动的程序,则有机会释放cpu从而进入睡眠态(注意是有机会,当然程序也可自行决定不释放cpu),当事件触发时被操作系统唤醒,这样就能更加有效地使用cpu。

扩展资料:

为需要处理的事件编写相应的事件处理程序。代码在事件发生时执行。

delphi和java编程特点

n事件(event)表示程序某件事发生的信号,事件分为:

o外部事件:由外部用户动作产生的事件。例如,点击鼠标、按键盘。

o内部事件:由系统内部产生的事件。例如,定时器事件。

n源对象(source object)是产生事件的对象。

参考资料百度百科-事件驱动编程