最新第05章-图形用户界面设计g教学讲义ppt

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15
第五章 图形用户界面设计
1. 概述 2. 事件处理 3. 基本控制组件 4. 布局设计 5. 常用容器组件
16
例:import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Mouse1 extends Applet implements MouseListener{ int x,y;TextField t1=new TextField(12); public void init(){ add(t1); addMouseListener(this);} public void mousePressed(MouseEvent e){ x=e.getX();y=e.getY(); t1.setText("坐标值:"+Integer.toString(x)+","+Integer.toString(y)); } public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseExited(MouseEvent e){} }
}
}
8
第五章 图形用户界面设计
1. 概述 2. 事件处理 3. 基本控制组件 4. 布局设计 5. 常用容器组件
9
事件处理
界面设计 (静态) 界面动起来 !
通过事件触发对象的响应机制 事件? 鼠标移动、鼠标点击、键盘键入等
事件处理机制
事件源 事件对象 事件监听者
如何实现
1. 实现(implements)事件监听接口(interface)产生一 个监听器对象(Listener)
12
2).将产生事件的组件注册为事件监听器 如果希望组件产生事件时能够得到响应,应将产生事件的组 件注册为事件监听器,注册的语句如下: 组件名.addXXXListener(实现事件监听器接口的类对象); XXX代表事件类型。
例如,假设Myclass是实现ActionListener接口的类。将Myclass 类对象注册为事件监听器,对应语句如下:
第05章-图形用户界面设计g
第五章 图形用户界面设计
1. 概述 2. 事件处理 3. 基本控制组件 4. 布局设计 5. 常用容器组件
2
概述
图形用户界面(Graphics User Interface)
图形用户界面:由菜单、按钮等图形界面组件构成,
用户通过键盘和鼠标与程序进行交互。
GUI组件:是图形用户界面的基本元素,可实现用户
2. 监听谁? 将该监听器对象注册到组件对象中 3. 编写事件响应方法
10
3.实现事件处理的步骤 1)定义类实现事件监听器接口 2)将产生事件的组件注册为事件监听器 3) 实现处理事件接口的抽象方法
11
1).定义类实现事件监听器接口
要建立处理事件的类,需要说明类实现事件监听器接口, 说明格式如下:
与程序交互。
容器:组件放置的地方,我们可以在容器中放入一
些GUI组件,如按钮、菜单等,从而组成一个人 机界面非常友好的程序。(包括:Applet、Panel、 Frame等)
3
图形用户界面的实现(P192)
1. 选取组件 2. 设计布局 3. 响应事件 应用原则
Swing比AWT提供更全面、更丰富的图形界 面设计功能
public class 类名 implements 监听器接口名列表 例如,ActionListener是动作事件监听器接口,定义如下:
interface ActionListener {public abstract void actionPerformed(ActionEvent e); }
如果名为Myclass的类要处理动作事件,就要定义Myclass 类实现ActionListener接口。
f.getContentPane().add(label);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{ System.exit(0); }
});
f.setSize(200, 200); f.setVisible(true);
Java 2平台支持AWT组件,但鼓励用Swing 组件
主要讲述AWT和Swing的图形界面设计
7
import java.awt.*;
图形用户界面的实现 import java.awt.event.*; public class HelloWorldAWT {
简单实例
public static void main(String[] args) { Frame f = new Frame("AWT1"); Label label = new Label("Hello!");
监听器对象this必须实现相应的接口,来响应事件:
public class C1 implements ActionListener { ... public void init() { ...
button1.addActionListener(this); }
public void actionPerformed(ActionEvent event) { 相应的响应操作 } }
f.add(label);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
import javax.swing.*;
{ System.exit(0); }
import java.awt.event.*;
});
public class HelloWorldSwing {
f.setSize(200, 200); f.setVisible(true);
public static void main(String[] args) {}
JFrame f = new JFrame(“Swing1பைடு நூலகம்});
JLabel label = new JLabel("Hello!");
组件名.addActionListener(new Myclass());
也可以使用关键字this。 例如,组件名.addActionListener(this)。
13
3).实现处理事件接口的抽象方法
在实现事件监听器接口的类中为抽象方法编写代码。 例 如 , 在 Myclass 类 中 为 ActionListener 接 口 的 actionPerformed()方法编写语句。
public void actionPerformed(ActionEvent e) {填写处理动作事件的语句}
14
以按钮类为例说明相应的事件处理过程(P197)
Button button1 = new Button(”提交”); button1.addActionListener(this); //在init()中实现
相关文档
最新文档