-
2014-08-26 12:05:13
动作事件的监听接口是ActionListener接口,在这个接口中的抽象方法如下:public void actionPerformed(ActionEvent e) .
例子:
// 鼠标动作事件的处理
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
// 创建一个动作事件类,在这个类中如果单击按钮,那么按钮的文本会发生变化
public class test extends Frame {
JButton b;
public test(String s) {
super(s);
b = new JButton("确定");
add(b);
ActionListener ac = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
((JButton)e.getSource()).setText("取消");
}
};
b.addActionListener(ac);
}
public static void main(String[] args) {
test me = new test("动作事件测试窗口");
me.pack();
me.setVisible(true);
}
}
更多相关内容 -
JAVA动作事件监听器
2019-09-29 20:52:49动作事件(ActionEvent)监听器是Swing中比较常用的事件监听器,很多组件的动作都会使用它监听,如按钮被单击、文本输入框的回车。 实例 import java.awt.*; import java.awt.event.ActionEvent; import java.awt....动作事件(ActionEvent)监听器是Swing中比较常用的事件监听器,很多组件的动作都会使用它监听,如按钮被单击、文本输入框的回车。
实例import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class Demo17 extends JFrame{ public Demo17() { setBounds(100,100,200,200);//设置窗体坐标和大小 setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗体关闭规则,关闭窗口时关闭程序 Container c=getContentPane(); c.setLayout(new FlowLayout());//设置窗体使用流布局管理器 JButton jb=new JButton("按钮"); jb.addActionListener(new ActionListener() {//添加动作监听 public void actionPerformed(ActionEvent e) { System.out.println("我被点击"); } }); c.add(jb); setVisible(true);//设置窗体为可见 } public static void main(String[] args) { new Demo17(); } }
运行结果
-
java按钮动作事件
2021-02-28 13:20:401. Java事件处理三要素:1) 事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件;2) 事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等...1. Java事件处理三要素:
1) 事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件;
2) 事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等;
3) 事件监听器(Event Listener):负责监听事件源上发生的特定类型的事件,当事件到来时还必须负责处理相应的事件;
2. 事件处理的机制:
1) 首先事件是有不同的类别的,比如按钮单击、菜单项单击等事件就属于“动作事件”(Action Event),而关闭窗口、最小化窗口等事件就属于“窗口事件”(Window Event);
2) 不同类型的事件需要用不同类型的监听器监听;
3) 而监听器是一种类对象,这种类必须实现监听器接口(Listener),对于监听不同类型的事件AWT库准备了不同类型的监听器接口,比如要监听动作事件就必须实现ActionListener接口,监听窗口事件就必须实现WindowListener接口;
!监听器中最重要的就是事件处理方法了,监听器必须在接受事件之后进行处理(响应);
4) 如何实现监听?
i. 首先事件源(发生事件的组件)必须同意我身上发生的事件允许那些监听器监听;
ii. 也就是说想监听它身上发生的事件的监听器必须到它这里注册,即组件必须调用方法addXxxListener将监听器注册到它的监听器列表中;
iii. 当事件发生时就会将事件对象(Event)发送到所有注册过的监听器那里进行处理;
5) 事件源、事件、监听器的对应关系:
i. 首先一个事件源可以产生多种类型的事件,比如窗口右上角的×按钮,当单击它时就会产生两种类型的事件,一个是按钮单击事件(属于Action Event),另一个是窗口关闭事件(属于Window Event);
ii. 监听器接口是什么类型就发送什么类型的事件:如果注册的监听器实现的是ActionEvent的接口,那么上述×按钮就只发送按钮单击事件给它而不会发送窗口关闭事件,除非监听器同时实现了两种类型的接口,那么该监听器就会同时受到两种类型的事件;
iii. 一个事件源可以注册多个监听器:一般符合逻辑的编程思想就是不同监听器监听、处理不同类型的事件,因此对于可以产生多种类型事件的事件源会注册多种类型的监听器,分别负责处理产生的多种事件;
!!当然一个事件源也可以注册多个相同类型的监听器,即比对于同一个事件(按钮单击),事件源注册多个实现ActionListener接口的监听器,那么这些监听器都会受到该事件,可能会疑问,这不是多此一举吗?一种事件就给出一种处理不是很好吗?那是因为有些情况下可能需要一个事件触发多种动作,每个监听器负责实现一个动作;
iv. 一个监听器可以监听多个事件源上的事件,即多个不同的组件用addXxxListener方法注册同一个监听器,那么当不同事件到来时监听器会调用其不同方法进行处理,或者在一个方法内部判断传进来的是什么事件,再进行特殊的处理;
3. 编写事件处理程序的基本流程:
1) 首先需要实现监听器类:自己编写一个类,至少要实现一种类型的监听器接口,并实现接口中所有的事件处理方法;
2) 创建组件,并对组件注册响应的监听器:首先需要创建监听器对象,将监听器对象作为参数传入组件的addXxxListener方法完成注册;
3) 全部工作完成,事件的处理完全自动进行;
4) 简单的示例:处理一个按钮的单击事件
[java] view plain copy
public class AwtTest {
Frame f = new Frame("Event Test");
TextField tf = new TextField(30);
Button ok = new Button("OK");
class OkListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println("OK button pushed!");
tf.setText("Hello!");
}
}
public void init() {
f.add(tf);
f.add(ok, BorderLayout.SOUTH);
ok.addActionListener(new OkListener());
f.pack();
f.setVisible(true);
}
public static void main(String[] args) {
new AwtTest().init();
}
}
!!完全按照讲述的顺序进行;
!直接设置编辑框内文本的方法:void TextField.setText(String text);
4. 事件源-监听器多对多示例:
[java] view plain copy
public class AwtTest {
Frame f = new Frame("Multiple Event Test");
TextArea ta = new TextArea(6, 40);
Panel p = new Panel();
Button btn1 = new Button("button1");
Button btn2 = new Button("button2");
class Listener1 implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
ta.append("Listener1 be activated! Event Source:" + e.getActionCommand() + "\n");
}
}
class Listener2 implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
ta.append("Listener2 be activated! Event Source:" + e.getActionCommand() + "\n");
}
}
public void init() {
f.add(ta);
p.add(btn1);
p.add(btn2);
f.add(p, BorderLayout.SOUTH);
Listener1 l1 = new Listener1();
Listener2 l2 = new Listener2();
btn1.addActionListener(l1);
btn2.addActionListener(l1);
btn2.addActionListener(l2);
f.pack();
f.setVisible(true);
}
public static void main(String[] args) {
new AwtTest().init();
}
}
!可以看到按钮2可以同时触发两个监听器,输出两条消息,而监听器1同时监听并处理了两个按钮的消息;
-
Java事件监听机制
2021-02-12 13:54:31Java事件监听机制在Java图形界面编程处常用,比如我们写好这样一个图形界面程序:我们会对界面进行一些操作,比如输入框中输入数据,点击登录按钮等,这些操作被称之为事件,当采取这些操作后,程序应会采取一定的...Java事件监听机制在Java图形界面编程处常用,比如我们写好这样一个图形界面程序:
我们会对界面进行一些操作,比如输入框中输入数据,点击登录按钮等,这些操作被称之为事件,当采取这些操作后,程序应会采取一定的措施响应。如:
那么在程序中是如何实现这个操作呢?
下面以点击登录按钮为例,讲述java事件监听机制(3种参与者、事件处理的实现步骤、事件的执行流程)。
1、事件监听机制的3种参与者
建立事件监听机制首先要明白什么是事件源对象,怎样为事件源对象添加事件监听方法及根据监听方法来确定事件接口。
1)事件源对象
什么是事件源对象:
事件源对象指触发事件发生的控件。所有的容器组件和元素组件都可以是事件源对象。本例中对应的事件源对象就是‘登录按钮’这一元素组件。
2)事件监听方法
在本例中,我们的需求是如果当登录按钮被点击,程序会采取相应操作。
这就需要我们为事件源对象(登录按钮)添加一个监视器,来监视事件源上是否发生了对应的动作。
它的作用是捕获发生在事件源对象上的动作,它具体由动作来确定。
格式(以ActionListener为例):
事件源对象.addActionListener(ActionListener
action)
本例为buttonLog(登录按钮对象)添加了一个监听方法。
//Java中,每个事件都对应有一个事件监听器,他们被定义在java.awt.event包中。
3)事件接口及实现(监视器类)
如果我们点击登录按钮后,程序采取对应的操作,我们必须要实现监听器接口(定义一个监视器类),在actionPerformed(ActionEvent e)这个方法里定义事件的处理方法。
以ActionListener接口为例。源代码:
ActionListener只有一个事件处理方法,当事件源对象发生动作时,都会采取这个唯一的方法处理。
2、事件监听机制的实现步骤
1)定义事件处理类(监视器类)
重写接口里的抽象方法,在重写的方法里定义事件处理的方式。
2)在Login(登录类)中实例化LoginListener(监视器类)对象:
//我这里的登录类定义了一个窗体及一些相关组件,包括textName输入框(用户名),textPwd密码输入框,及buttonLog(登录按钮)等。
3)给事件源(登录按钮buttonLog)对象添加addActionListener()监听方法。
3、事件的执行流程
事件源对象上发生动作→监听方法捕获动作→动作传递给捕获方法中参数对象→参数对象自动调用实现类(监视器类)中的方法采取相应的操作。
-
java实现点击按钮事件弹出子窗口
2020-08-25 19:03:10主要为大家详细介绍了java实现点击按钮事件弹出子窗口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener
2020-06-17 11:02:55该事件被传递给每一个FocusListener或FocusAdapter注册,以接收使用组件的此类事件对象addFocusListener方法。 ( FocusAdapter对象实现FocusListener接口。)每个此类侦听器对象获取此FocusEvent当事件发生时。 有... -
Java~事件处理机制(窗口事件、鼠标事件、键盘事件、动作事件)实现抽奖小界面
2020-05-06 00:48:55事件处理机制专门用于响应用户的操作,比如,想要响应用户的单击鼠标、按下键盘等操作,就需要使用AWT的事件处理机制。在学习如何使用AWT事件处理机制之前,首先向读者介绍几个比较重要的概念,具体如下所示: 事件... -
java-swing-事件监听-(动作事件监听器)
2019-06-22 14:54:08前面学习的只是如何布置使用 swing控件,但是对它们进行点击等动作时,相应控件没有任何反应。 所以要给每个控件添加一个事件处理机制,当我们(用户)对 Swing组件 进行某些操作时,对应 Swing组件 会自动产生各种... -
java的事件监听
2021-03-01 10:42:32进行过Java图形界面编程的同学会发现,各种控件的点击、打开、关闭等操作,都注册了对应的事件监听器,并可以根据不同的事件执行不同操作。 例如,同样是button,点击 关闭 可以直接关闭窗口;点击登录可以在后台... -
java鼠标事件
2013-06-04 11:02:55使用java开发的模拟鼠标事件,包括点击鼠标左键、鼠标中键、鼠标右键,双击鼠标左键、鼠标右键等鼠标动作 -
java页面设计之事件处理综合介绍
2020-09-05 16:52:37java页面设计之事件处理,当你把界面都设计好了,总需要添加相应的执行动作给组件,在JAVA中有相应的时间处理机制,叫做监听器 -
第9章 Java事件处理.ppt
2020-08-14 17:08:36第9章 Java事件处理 学习导言 要充分体现GUI用户交互性就需要这些GUI组件能完成具体的动作 本章将对Java事件处理做一个详细介绍具体涉及到事件处理机制常用的事件处理等内容 课程结构 9.1 事件处理概述 9.2 常用的... -
Java 常用动作事件监听
2019-01-30 00:06:29import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Scanner; import javax... -
Java常用事件监听器与实例分析
2020-07-30 08:32:34我们知道在Java窗体中的组件,本身是不具备任何功能的,因此我们必须要给控件添加相应的事件监听,才能在界面中触发相应的事件处理,今天就来和大家分享一下在Java中常用的几个事件监听器。 监听事件简介 首先,... -
Java事件机制
2019-04-25 10:52:202、EventObject:所有事件的基类,所以就是指这个事件,或者动作,或者行为; 3、EventListener:所有事件的监听器,接口,就是指监听到对应事件后采取的措施,指具体的行动或响应处理; 4、Source:源,事件源,事件... -
JAVA GUI 事件监听事件 详解 和 案例.
2021-03-22 14:41:47GUI(图形用户界面)Graphical User Interface(图形用户接口)用图形的 方式, 来显示 计算机操作的 界面, ...需要记忆一些常用的命令, 操作不直观.Java 为 GUI 提供的 对象 都存在 java.awt 和 javax.swing 两个包中... -
Java给按钮添加事件
2021-02-12 12:50:46展开全部赞一个, 提前学习, 做好预先 , 是个好习惯.java图形界面主要62616964757a686964616fe4b893e5b19e31333365636666有AWT, SWING, SWT, JavaFx等技术JButton (按钮)是SWING里面很常用的组件. 直接添加按钮到窗口... -
Java的事件监听器学习心得
2021-03-13 03:07:26在Java的swing编程中,Java中的事件机制非常常用一. 事件监听器的参与者:1.事件对象:一般继承自java.util.EventObject对象,由开发者自行定义.2.事件源:就是触发事件的源头,不同的事件源会触发不同的事件类型.3.... -
java图形界面开发中的事件监听及事件处理
2012-12-13 18:06:30本资源介绍了java图形界面开发中的事件监听及事件处理的相关内容,对于学习的相关人员有一定的帮助。 -
小编给你传授java怎么实现按钮触发事件功能
2021-04-12 14:04:55电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到java怎么实现按钮触发事件功能的问题,如果我们遇到了java怎么实现按钮触发事件功能的情况,该怎么处理怎么才能解决java怎么实现... -
java 事件监听 - 鼠标
2021-02-28 10:09:23java 事件监听 - 鼠标//事件监听//鼠标事件监听//鼠标事件监听有两个实现接口//1、MouseListener 普通的鼠标操作//2、MouseMotionListener 鼠标的拖拽、移动import java.awt.*;import javax.swing.*;import java.awt... -
Java页面设计??事件处理
2020-12-22 20:34:38当你把界面都设计好了,总需要添加相应的执行动作给组件,在JAVA中有相应的时间处理机制,叫做“监听器”,给组件添加相应执行动作的过程叫做“注册”,其中的“监听器”是一个接口,里面包含了相应的执行函数,要做... -
java处理按钮点击事件的方法
2021-02-12 12:55:29不同的事件源可以产生不同类别的事件。例如,按钮可以发送一个ActionEvent对象,而窗口可以发送WindowEvent对象。AWT时间处理机制的概要:1. 监听器对象是一个实现了特定监听器接口(listener interface)的类的实例。... -
Java的事件处理机制.ppt
2020-05-14 01:27:21第8章 Java的GUI设计 Java AWT事件处理机制 如果用户在用户界面层执行了一个动作(鼠标点击和按键)这将导致一个事件的发生事件是描述发生了什么的对象存在各种不同类型的事件类用来描述各种类型的用户交互事件源是一... -
Java 事件处理机制
2019-09-25 15:01:29Java的事件机制最初是用在Swing组件上的,用来处理诸如按钮按下之类的动作事件,但如果理解了事件机制的基本概念,我们可以轻易的将其用到任何Java对象上。 -
java事件监听器
2019-12-20 17:30:121.动作事件监听器 动作事件(ActionEvent)监听器是Swing中比较常用的事件监听器,很组件的动作都会使用它监听,如按钮单击,下表描述了动作事件监听器的接口与事件源。 事件名称 事件源 监听接口 添加或... -
Java鼠标事件监听器的创建和使用教程及代码
2021-02-12 22:43:26鼠标事件监听器鼠标事件监听器由MouseListener接口和MouseMotionListener接口定义,分别定义鼠标捕获不同的鼠标操作方法。MouseListener监听器方法说明mouseClicked(MouseEvent e) 处理鼠标单击事件方法mouseEntered... -
Java添加事件监听的四种方法代码实例
2021-02-25 19:27:50/*** Java事件监听处理――自身类实现ActionListener接口,作为事件监听器** @author codebrother*/class EventListener1 extends JFrame implements ActionListener {private JButton btBlue, btDialog;public ... -
Java中点击事件的四种写法
2021-02-26 16:06:54点击事件的必备条件:实现OnClickListener接口,重写v)方法以拨号简单案例为例,如下图效果:逻辑流程:获取点击对象,获取数据给对象设置监听类实现OnClickListener接口,重写onClick(View v)方法onClick(View v)... -
java事件处理
2018-06-22 23:03:26一、Java的事件处理机制二、事件处理流程1、给事件源对象注册监听者 事件监听者是在事件发生时要对事件进行处理的对象。AWT定义了各种类型的事件,每一种事件有相应的事件监听者接口 ,在接口中描述了处理相应事件...