Java_AWT事件处理(精选)

合集下载

事件处理4

事件处理4

基本概念
事件源(event source):产生事件的对象。如在 一个按钮上单击鼠标时,该按钮是事件源,会产 生一个ActionEvent类型的事件。
事件监听者(Listener):Java程序把事件进行处理 的方法放在一个类对象中,这个类对象就是事件 监听者。事件源通过调用相应的方法将某个对象 设置为自己的监听者,监听者有专门的方法来处 理事件。
常用方法:
public String getActionCommand()返回与此动作相关的命 令字符串。
public long getWhen()返回发生此事件时的时间戳。 public int getModifiers()返回发生此动作事件期间按下的组
合键。 public Object getSource() 最初发生 Event 的对象。
} public static void main(String[] args){ GUIDemo8 d=new GUIDemo8(); }
}
选项事件类 ItemEvent
当用户在窗口中的带有可选择功能的组件中进行 选取操作时所发生的事件.
选项事件ItemEvent的监听者是ItemListener. 该接口中提供的事件处理方法只有一个 itemStateChanged(ItemEvent e),当组件中 的选项状态改变时,将调用该方法.
public GUIDemo8() { jta=new JTextArea(); jp1=new JPanel(); String[] chatters={"红红","白白","蓝蓝"}; jcb=new JComboBox(chatters); jtf=new JTextField(10); jb=new JButton("发送"); jsp=new JScrollPane(jta);

Java-AWT事件处理

Java-AWT事件处理

2019/3/19
13
窗口事件处理



接口:WindowListener。 方法:打开执行windowOpened(),单击窗口右 上角关闭按钮执行windowClosing(),单击最小 化按钮执行windowIconified()和 windowDeactivated(),鼠标单击其他窗口也 会执行windowDeactivated(),由最小化恢复 会执行windowDeiconified()和 windowActivated(),当前窗口为其他窗口 时单击该窗口,也会执行windowActivated(), 窗口被关闭,则执行windowClosed(). 方法参数:WindowEvent e
2019/3/19
15
动作事件的处理(文本框)

}

ActionListener除了用于鼠标单击按钮外,单行文本框中的回车、列表框中双击 选择某个选项也可以用其处理。 import java.awt.*; import java.awt.event.*; class xx implements ActionListener{ TextField t=new TextField(“you can enter here”,35); t.addActionListener(this); //即单行文本框可以自动监听。 …………… public void actionPerformed(ActionPerformed e){ String s=t.getText(); System.out.println(s); } 注意:对于多行文本框TextArea,不能自动监听,可以添加按钮来实现检查和提 交功能。

按钮添加监听:button.addActionListener(事件处理器);

AWT事件处理

AWT事件处理

Java AWT事件处理1 AWT事件处理基本概念AWT事件处理的过程中,主要涉及3类对象。

(1) Event(事件):用户对组件的一个操作,称之为一个事件,以类的形式出现,例如,键盘操作对应的事件类是KeyEvent。

其实例在改事件发生时有系统自动产生。

(2) Event Source(事件源):事件发生的场所,通常就是各个组件,例如按钮Button。

(3) Event Monitor(事件监听器):接收事件对象并对其进行处理的类的对象,通常其中某个成员方法对事件进行相应的处理。

事件委托处理模型图10-10 事件委托处理模型Java采取了事件委托处理模型(Delegation Model),事件源自己不处理事件,而是把在其自身所有可能发生的事件委托给事件监听器来处理。

比如,在Canvas对象上既可能发生鼠标事件,也可能发生键盘事件,该Canvas对象就可以委托给事件监听器1来处理鼠标事件,同时委托给事件监听器2来处理键盘事件。

委托模型把事件的处理委托给外部的处理实体进行处理,实现了将事件源和监听器分开的机制。

2 事件事件分类。

按事件的性质分类java.util.EventObject类是所有事件对象的基础父类,所有事件都是由它派生出来的。

AWT的相关事件继承于java.awt.AWTEvent类,这些AWT事件分为两大类:低级事件和高级事件。

(1)低级事件低级事件是指基于组件和容器的事件,当一个组件上发生事件,如鼠标的进入、点击、拖放等,或组件的窗口开关等时,触发了组件事件。

—ComponentEvent(组件事件:组件尺寸的变化、移动);—ContainerEvent(容器事件:组件增加、移动);—WindowEvent(窗口事件:关闭窗口、窗口闭合、图标化);—FocusEvent(焦点事件:焦点的获得和丢失);—KeyEvent(键盘事件:键按下、释放);—MouseEvent(鼠标事件:鼠标单击、移动)。

第13章事件处理(第4版)

第13章事件处理(第4版)

实现上述的接口,针对想要捕获的事件编写方法代码 。如要捕获单击按钮事件,就要为ActionListener接口 里的actionPerformed()方法编写代码。
为事件监听者创建一个对象,让自己的组件和方法完 成对它的注册,方法是在监听者接口的名字里加入一 个前缀“add”,如addActionListener()
待用户通过鼠标、键盘给它通知(消息驱动), 它再根据这个通知的内容进行相应的处理(事件 驱动)。 通常一个键盘或鼠标操作会引发一个系统预先定 义好的事件,用户只需编写代码,定义每个特定 事件发生时程序应做出何种响应即可。
3
13.1 委托事件处理
事件(event):用户使用鼠标或键盘对窗口中的组 件进行交互时所发生的事情。对这些事件做出响 应的程序,称为事件处理程序(Event Handler)。
见教材例13.5
20
13.6 文本组件及相应的事件处理
文本组件所触发的事件主要有动作事件 ActionEvent和文本变化事件CaretEvent 。 见教材例13.6
21
13.7 窗口组件及窗口事件处理
Window类的任何子类都可能触发下列的窗口事 件:打开窗口、正在关闭窗口、关闭窗口、激活窗 口、变成非活动窗口、最小化窗口和还原窗口。 Window类常用方法见教材表13.8
5
13.1 委托事件处理
Java语言规定:为了让监听者能对事件源发生的 事件进行处理,创建该监听者对象的类必须声明 实现相应的监听者接口或继承相应的适配类,即 必须在类体中具体定义该接口中所有方法的方法 体或覆盖适配器类中的相应方法,以供监听者自 动调用相应事件处理方法来完成对应事件的任务 ,这些处理事件的方法就是事件处理程序。
JCheckBoxMenuItem类的构造方法及常用方法 见教材表13.30、13.31。

Java第06章--1(AWT与Swing)

Java第06章--1(AWT与Swing)

• • 视图(view):它专门负责组件的绘制工作,主要涉及 paint()方法。MVC设计范式的最大优点是一个模型可以 有多个视图,每个视图是一个不同侧面但内容却是完整的。 • 一个模型的几个视图都是从不同侧面、用完整的内容来描 述同一个模型。当模型的控制器要修改其内容时,均会通 知这每个视图,它们都会自动地更新自己的视图显示。 • • 控制器(controller):专门负责管理和处理组件所接 收到的事件,这些事件可能来自用户的操作。如键盘输入、 鼠标点击和拖放等,也可能来自系统,如系统计时器发出 的事件。 • 视图和其控制器之间的通信不仅频繁且非常复杂,因此 JFC系统把两者封装成一个整体。
• • 模型(model):模型负责获取和管理组件的状态,用户若 需要询问组件的状态时,实际上是询问该组件的模型。 • 若要询问Swing型按钮组件(JButton 类的一个对象)的状 态,可调用JButton 类的父类javax.swing.AbstractButton所 提供的isSelected()方法,它定义为: – public boolean isSelected() { ... } – 该方法返回一个逻辑值,若为true则该按钮组件被压下,反 之返回false则按钮是松开状态。 • javax.swing包中的各种组件,对于描述该组件状态和内容的 模 型 都 是 用 以 Model 结 尾 的 接 口 实 现 , 例 如 , 对 于 按 钮 在 javax.swing包中有一个如下定义的接口: – public interface ButtonModel extends ItemSelectable { ... } • 每个JButton类的对象都保存着一个表示该按钮组件模型的对 象,调用其父类AbstractButton的方法就可以得到它,即: – JButton b = new JButton( "确定" );

Java 实现图片的拖动处理

Java  实现图片的拖动处理
setSize(600,500); //设置窗口尺寸
setVisible(true); //设置窗口为可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
(4)添加鼠标处理事件,代码如下所示。
class DragPicListener implements MouseInputListener
Java
图片的拖动在计算机中比较常见。本实例介绍用Java事件实现简单的图片的拖动功能。
(1)在【文件】菜单下选择【新建】|【类】命令,在弹出的对话框【新建Java类】中,创建DragPictureDemo.java文件,如图10-18所示。
图10-18新建Java类
(2)添加程序中要用到的程序包,代码如下所示。
{ //鼠标事件处理
Point p=new Point(0,0); //坐标点
public void mouseMoved(MouseEvent e){}
public void mouseDragged(MouseEvent e)
{
Point newP=SwingUtilities.convertPoint(jlPic,e.getPoint(),jlPic.getParent()); //转换坐标系统
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
public void mousePressed(MouseEvent e)
{
p=SwingUtilities.convertPoint(jlPic,e.getPoint(),jlPic.getParent()); //得到当前坐标点

Java面向对象程序设计案例教程课件:图形用户界面开发与事件处理

Java面向对象程序设计案例教程课件:图形用户界面开发与事件处理

《Java面向对象程序设计案例教程》
7.2 Swing基础
• Swing组件是Java语言提供的第二代GUI设计工 具包,它以AWT为基础,在AWT内容的基础上 新增或改进了一些GUI组件,使得GUI程序功能 更强大,设计更容易、更方便。
• Swing与AWT有以下不同。
• (1) Swing是完全用Java语言编写的,所以称 Swing组件是轻量级组件,没有本地代码,不依 赖操作系统的支持,比AWT构件具有更强的实 用性。Swing在不同的平台表现一致,并且有能 力提供本地窗口系统不支持的其他特性。
《Java面向对象程序设计案例教程》 • Swing的类层次结构如图所示:
《Java面向对象程序设计案例教程》
• 3. 简单的范例 • 一个简单的Swing GUI应用程序。该程序生成一个窗
口, • 窗口中有一个标签,用于显示输出。 • (1) 程序代码: • 1. import java.awt.* ; • 2. import javax.swing.* ; • 3. public class SwingDemo • 4. { • 5. public static void main(String args[]) • 6. { • 7. JFrame fm = new JFrame("第一个Windows程序") ; • 8. JLabel label = new JLabel("这是第一个GUI程序") ;
• 教材例题7-12 利用组合框显示、选取地名。
• 教材例题8.2 ,例题8.3用不同方法生成JFrame窗口
《Java面向对象程序设计案例教程》
• 7.3.2 面板容器JPanel
• 面板JPanel也是Java中常用到的容器之一,面板是一种透明 的容器,既没有标题,也没有边框,就像一块透明的玻璃。 与JFrame不同,它不能作为最外层的容器单独存在,它首 先必须作为一个构件放置到其他容器中,然后再把它作为容 器,把其他构件放到其中。

16 事件处理

16  事件处理

4 ““事事件件聆的听对者象”A的”依」种据类把 工作指派给“事件处理者”
按按钮钮bbttnn ((eevveennttssoouurrccee))
事件聆听者 A
(事ev件en倾t li听ste者nerA) (event listener)
事件处理者 A 事件处理者 A
3 按钮 ( event source) 会把这
AWT所提供的组件中,可能触发事件类的对应关系
事件源 Button CheckBox Component
MenuItem Scrollbar TextArea TextField Window
产生事件的类类型 ActionEvent ActionEvent、ItemEvent ComponentEvent、FocusEvent、
TextListener WindowListener
聆听者接口所提供的事件处理者
actionPerformed(ActionEvent e)
adjustmentValueChanged(AdjustmentEvent e)
itemStateChanged(ItemEvent e)
keyTyped(KeyEvent e) keyPressed(KeyEvent e) keyReleased(KeyEvent e)
Frame类 05 { 06 static Frame frm=new Frame("Action Event"); 07 static Button btn=new Button("Click Me"); 08 09 public static void main(String args[]) 10 { 11 btn.addActionListener(new ActLis()); 12 frm.setLayout(new FlowLayout());

7.4+Java的事件处理

7.4+Java的事件处理

7.4.3 文本事件(TextEvent)的处理 文本事件(TextEvent)的处理
TextEvent类只包含一个事件,即代表文本区域中 类只包含一个事件, 类只包含一个事件 文本变化的事件TEXT-VALUE-CHANGED,在文 , 文本变化的事件 本区域中改变文本内容。例如,删除字符、 本区域中改变文本内容。例如,删除字符、键入 字符都将引发这个事件。这个事件比较简单,不 字符都将引发这个事件。这个事件比较简单, 需要特别判断事件类型的方法和常量。 需要特别判断事件类型的方法和常量。 Java中用于文本处理的基本组件有两种:单行文本 中用于文本处理的基本组件有两种: 中用于文本处理的基本组件有两种 框TextField和多行文本区域 和多行文本区域TextArea,它们都是 , TextComponent的子类。 的子类。 的子类
7.4.4 选择事件(ItemEvent)的处理 选择事件(ItemEvent)的处理
ItemEvent类只包含一个事件,即代表选择项的选 类只包含一个事件, 类只包含一个事件 中状态发生变化的事件ITEM-STATE-CHANGED。 。 中状态发生变化的事件 引发这类事件的动作包括: 引发这类事件的动作包括: (1) 改变列表类 改变列表类 列表类List对象选项的选中或不选中状态。 对象选项的选中或不选中状态 对象选项的选中或不选中状态。 (2) 改变下拉列表类 改变下拉列表类 下拉列表类Choice对象选项的选中或不选中 对象选项的选中或不选中 对象 状态。 状态。 复选按钮类Checkbox对象的选中或不选中状 对象的选中或不选中状 (3) 改变复选按钮类 改变复选按钮类 对象 态。 (4) 改变检测盒菜单项 改变检测盒菜单项CheckboxMenuItem对象的选 对象的选 中或不选中状态。 中或不选中状态。

java中awt的常用的用法

java中awt的常用的用法

一、概述awt的作用1.1 awt的全称1.2 awt的定位和作用1.3 awt的优点和局限二、awt常用的组件2.1 按钮(Button)2.2 标签(Label)2.3 文本框(TextField)2.4 文本区域(TextArea)2.5 列表(List)2.6 下拉列表(Choice)2.7 复选框(Checkbox)2.8 单选按钮(RadioButton) 2.9 滚动条(Scrollbar)2.10 对话框(Dialog)2.11 框架(Frame)三、awt的布局管理器3.1 FlowLayout3.2 BorderLayout3.3 GridLayout3.4 GridBagLayout3.5 CardLayout四、awt事件处理4.1 事件概述4.2 事件监听器4.3 事件对象4.4 事件的处理五、awt绘图5.1 绘图的基本概念5.2 绘图的步骤5.3 绘制图形5.4 绘制图像5.5 绘制文本六、awt的高级应用6.1 图形用户界面(GUI)开发 6.2 多媒体处理6.3 网络编程6.4 多线程处理七、awt的实际应用7.1 GUI程序开发7.2 窗口程序设计7.3 界面美化7.4 数据展示八、结语在Java编程中,awt(Abstract Window Toolkit)是一个用于创建图形用户界面(GUI)应用程序的基本工具包。

它提供了一系列的组件、布局管理器、事件处理和绘图功能,帮助开发者快速构建可视化的程序界面。

本文将从awt的基本组件、布局管理器、事件处理、绘图以及高级应用方面进行详细介绍。

一、概述awt的作用1.1 awt的全称awt的全称是Abstract Window Toolkit,它是Java的一个基本GUI 工具包,提供了一系列的类和方法供开发者创建、管理和展示图形用户界面。

1.2 awt的定位和作用awt的定位是作为Java的标准库,为开发者提供创建GUI界面的基本工具,充分利用面向对象的思想,让开发者能够通过简单的调用API来完成复杂的图形界面设计。

java第五章习题及答案

java第五章习题及答案
一.填空题:
1.Internet/Intranet Server(服务器),客户端
2.初始化、启动、停止、退出
3.事件
4.ActionEvent,ActionListener,actionPerformed(ActionEvent e)
5.CheckboxGroup,Checkbox,Choice,List,ItemEvent
result.setText(j.toString(i));
}
catch(ArithmeticException ee){
result.setText("divided by zero");
}
}
}
class clearL implements ActionListener{
public void actionPerformed(ActionEvent e){
TextField result=new TextField(10);
Label la1=new Label("first data:");
Label la2=new Label("second data:");
Label la3=new Label("equal:");
Button plus=new Button("+");
二.选择题:
4.b5.A6.A7.a
二.编程题:
1.
importjava.applet.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassExampleextendsAppletimplementsActionListener{

第5章 基于Swing的图形化用户界面_1布局管理器与事件处理 - 全

第5章 基于Swing的图形化用户界面_1布局管理器与事件处理  - 全
AWT ( 重量级组件)
通过 java.awt 包
创建 GUI
容器 组件 布局管理器
包含 AWT 容器组件
以图形表示的对象允许用户交互
AWT 包 含 内 容
定义 GUI 组件的位置
使用 AWT 图形方法相对于窗口绘制图形
图形和绘制方法
字体 事件
创建并构造用于选择新字体的对象 用于用户和系统交互
AWT类结构
框架JFrame


JFrame是放置其他Swing组件的顶级容器。
JFrame用于在Swing程序中创建顶层窗口。 默认情况下,框架的尺寸是没有实际意义的0X0像素。 为了设定合适的框架大小,要调用框架的setSize方法。

默认情况下,框架在创建时是不可见的。为了显示框架 ,要调用框架的setVisible方法。
AWTEvent Font Component ng.object Graphics MenuComponent 布局管理器类 Window Frame Container
Panel
Applet
Swing概述
通过 Swing (轻量级组件,纯Java组件) Javax.swing 包 创建 GUI

默认情况下,当用户关闭一个框架时,该框架会隐藏起
来,程序不会终止,调用setDefaultCloseOperation。
JFrame应用示例
创建具有以下特征的窗口: • 自定义窗口的标题; • 窗口的大小不可变(300,200); • 窗口居中显示。
标题
最大化按钮 失效
JFrame应用示例
import javax.swing.*; class App5_1 { public static void main(String[] args) { JFrame f=new JFrame("第一个Java窗口"); //创建容器 f.setSize(300,200); //设置容器大小 f.setLocationRelativeTo(null) ; //框架居中 f.setVisible(true); //设置框架可见性 f.setResizable(false); //设置不能改变框架大小 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

3ATWSwing事件处理

3ATWSwing事件处理

3ATWSwing事件处理AWT(AbtractWindowingToolkit)是用来创建Java图形用户界面的基本工具.JavaSwing是JFC(JavaFoundationClae)的一部分,它可以弥补AWT的一些不足.Container(容器):扩展组件的抽象基本类,例如Panel、Applet、Window、Dialog和Frame等是由Container演变的类,容器中可以包括多个组件。

LayoutManager(布局管理器):定义容器中组件的摆放位置和大小接口。

Java中定义了几种默认的布局管理器。

Graphic(图形):组件内与图形处理相关的类,每个组件都包含一个图形类的对象。

1组件",ColorgetForeground():获取组件的前景色。

",StringgetName():获取组件的名称。

",DimeniongetSize():以Dimenion对象的形式返回组件的大小。

",voidpaint(Graphicg):绘制该组件。

",voidrepaint():重绘组件。

",voidupdate(Graphicg):更新该组件。

",voidetViible(booleanb):根据参数的值显示或隐藏此组件。

",voidetSize(intwidth,intheight):调整组件的大小,使其宽度和高度分别为width和height。

",voidetName(Stringname):将组件的名称设置为指定的字符串。

",voidetForeground(Colorc):设置组件的前景色。

AWT的组件库画布(Canva)是处于屏幕上的一个空白矩形区域,在该区域可以绘图,也可以获得用户激发的事件。

画布组件可以监听鼠标事件和键盘事件。

publicvoidpaint(Graphicg)由于画布的paint()方法默认操作是清除画布,所以重写此方法的应用程序不需要调用uper.paint(g)。

描述awt事件处理机制

描述awt事件处理机制

描述awt事件处理机制AWT(Abstract Window Toolkit)是Java的原始图形用户界面工具包,提供了一种供开发人员创建GUI应用程序的方法。

AWT事件处理机制允许开发人员对用户界面中的事件进行响应和处理。

AWT事件处理机制包括以下关键组件:1. 事件对象(Event objects):事件对象代表了用户界面中发生的事件,例如按钮点击、鼠标移动等。

每种类型的事件都有对应的事件对象。

2. 事件源(Event source):事件源是触发事件的组件,例如按钮、文本框等。

当事件发生时,事件源会创建一个事件对象并通过调用监听器的方法将事件对象传递给监听器。

3. 监听器(Listener):监听器是一个接口,定义了一种特定类型的事件处理方法。

开发人员可以为每种类型的事件创建一个监听器,并实现对应的事件处理方法。

4. 注册监听器(Registering listeners):开发人员需要将监听器注册到事件源上,以便在事件发生时能够接收到事件对象。

通常,通过调用事件源的`addXXXListener()`方法来注册监听器。

5. 事件分发器(Event dispatcher):事件分发器负责将事件对象传递给正确的监听器。

当事件发生时,事件源会将事件对象传递给事件分发器,然后事件分发器将根据事件类型寻找相应的监听器,并调用相应的事件处理方法。

6. 事件处理方法(Event handling methods):监听器的事件处理方法用于处理特定类型的事件。

开发人员需要实现这些方法以定义事件发生时的响应行为。

总结起来,AWT事件处理机制的基本流程如下:1. 开发人员创建一个或多个监听器,并实现相应的事件处理方法。

2. 开发人员将监听器注册到所需的事件源上,以便在事件发生时能够接收到事件对象。

3. 当事件发生时,事件源会创建一个事件对象,并将其传递给事件分发器。

4. 事件分发器根据事件类型寻找相应的监听器,并调用监听器的事件处理方法。

AWT组件及事件处理(三)

AWT组件及事件处理(三)

public void actionPerformed(ActionEvent e) { if(e.getSource()==button1) { setBackground(Color.cyan); } else if(e.getSource()==button2) { setBackground(backColor); } } }
public void actionPerformed(ActionEvent e) {if(e.getSource() == tf) ta2.setText(tf.getText()); } public void textValueChanged(TextEvent e) {if(e.getSource() == ta1) ta2.setText(ta1.getText()); } }
CardLayout(卡片式布局)将每个组件看作一张 卡片,一个容器中可以加入多张卡片,但每次只 有一个可见。也称“多层页面设置”,它把每一 个组件都视为容器中的一层,每一个组件都会布 满整个容器。这些组件都会赋予一个名称,然后 再依这个名称来控制组件是否显示。 假设有一个容器con,使用CardLayout的一般步骤: 1、创建CardLayout布局对象 如:CardLayout card=new CardLayout(); 2、使用setLayout( )为容器设置布局 如:con.setLayout(card);
ScrollPane():创建滚动面板,滚动条初始不可见。
ScrollPane(int a) : 用指定的参数创建一个滚动 面板。a的取值为:
Scrollpane.SCROLLBARS-ALWAYS Scrollpane.SCROLLBARS-AS-NEEDED Scrollpane.SCROLLBARS-NEVER
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档