第05章图形用户界面设计g讲课教案

上传人:yuzo****123 文档编号:137776218 上传时间:2020-07-11 格式:PPT 页数:43 大小:332KB
返回 下载 相关 举报
第05章图形用户界面设计g讲课教案_第1页
第1页 / 共43页
第05章图形用户界面设计g讲课教案_第2页
第2页 / 共43页
第05章图形用户界面设计g讲课教案_第3页
第3页 / 共43页
第05章图形用户界面设计g讲课教案_第4页
第4页 / 共43页
第05章图形用户界面设计g讲课教案_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《第05章图形用户界面设计g讲课教案》由会员分享,可在线阅读,更多相关《第05章图形用户界面设计g讲课教案(43页珍藏版)》请在金锄头文库上搜索。

1、1,Java语言程序设计,刘玉江 ,2,概述 事件处理 基本控制组件 布局设计 常用容器组件,第五章 图形用户界面设计,3,概述,图形用户界面(Graphics User Interface) 图形用户界面:由菜单、按钮等图形界面组件构成,用户通过键盘和鼠标与程序进行交互。 GUI组件:是图形用户界面的基本元素,可实现用户与程序交互。 容器:组件放置的地方,我们可以在容器中放入一些GUI组件,如按钮、菜单等,从而组成一个人机界面非常友好的程序。(包括:Applet、Panel、Frame等),4,容器(container),图形用户界面(GUI),6,图形用户界面的构成,一些特定的Java类

2、java.awt包 javax.swing包 容器组件(Container): 可包含其他组件 顶层容器: Applet, Dialog, Frame, Window 一般用途容器: Panel, ScrollPane 特定用途容器: InternalFrame 非容器组件: 必须要包含在容器中 Button, Checkbox, Scrollbar, Choice, Canvas,7,图形用户界面的实现(P192),选取组件 设计布局 响应事件 应用原则 Swing比AWT提供更全面、更丰富的图形界面设计功能 Java 2平台支持AWT组件,但鼓励用Swing组件 主要讲述AWT和Swing

3、的图形界面设计,8,图形用户界面的实现,简单实例,import javax.swing.*; import java.awt.event.*; public class HelloWorldSwing public static void main(String args) JFrame f = new JFrame(“Swing1); JLabel label = new JLabel(Hello!); f.getContentPane().add(label); f.addWindowListener(new WindowAdapter() public void windowClosin

4、g(WindowEvent e) System.exit(0); ); f.setSize(200, 200); f.setVisible(true); ,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!); f.add(label); f.addWindowListener(new WindowAdapter()

5、public void windowClosing(WindowEvent e) System.exit(0); ); f.setSize(200, 200); f.setVisible(true); ,9,概述 事件处理 基本控制组件 布局设计 常用容器组件,第五章 图形用户界面设计,10,事件处理,界面设计 (静态) 界面动起来 ! 通过事件触发对象的响应机制 事件? 鼠标移动、鼠标点击、键盘键入等 事件处理机制 事件源 事件对象 事件监听者 如何实现 实现(implements)事件监听接口(interface)产生一个监听器对象(Listener) 监听谁? 将该监听器对象注册到组件对

6、象中 编写事件响应方法,11,3.实现事件处理的步骤,1)定义类实现事件监听器接口 2)将产生事件的组件注册为事件监听器 3) 实现处理事件接口的抽象方法,12,要建立处理事件的类,需要说明类实现事件监听器接口,说明格式如下: public class 类名 implements 监听器接口名列表 例如,ActionListener是动作事件监听器接口,定义如下: interface ActionListener public abstract void actionPerformed(ActionEvent e); 如果名为Myclass的类要处理动作事件,就要定义Myclass类实现Act

7、ionListener接口。,1)定义类实现事件监听器接口,13,如果希望组件产生事件时能够得到响应,应将产生事件的组件注册为事件监听器,注册的语句如下: 组件名addXXXListener(实现事件监听器接口的类对象); XXX代表事件类型。 例如,假设Myclass是实现ActionListener接口的类。将Myclass类对象注册为事件监听器,对应语句如下: 组件名addActionListener(new Myclass(); 也可以使用关键字this。 例如,组件名addActionListener(this)。,2)将产生事件的组件注册为事件监听器,14,在实现事件监听器接口的类

8、中为抽象方法编写代码。 例如,在Myclass类中为ActionListener接口的actionPerformed()方法编写语句。 public void actionPerformed(ActionEvent e) 填写处理动作事件的语句,3)实现处理事件接口的抽象方法,15,以按钮类为例说明相应的事件处理过程(P197) Button button1 = new Button(”提交”); button1.addActionListener(this); /在init()中实现 监听器对象this必须实现相应的接口,来响应事件: public class C1 implements A

9、ctionListener . public void init() . button1.addActionListener(this); public void actionPerformed(ActionEvent event) 相应的响应操作 ,16,第五章 图形用户界面设计,概述 事件处理 基本控制组件 布局设计 常用容器组件,17,例:import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Mouse1 extends Applet implements MouseList

10、ener 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

11、 void mouseReleased(MouseEvent e) public void mouseExited(MouseEvent e) ,18,AWT组件 (java.awt.*),Component,Button,Canvas,Choice,CheckBox,Label,List,TextComponent,Scrollbar,TextField,TextArea,Container,ScrollPane,Frame,FileDialog,Panel,Window,Dialog,Applet,19,基本控制组件,使用步骤: 创建基本控制组件类的对象,指定对象属性; 将组件对象加入到制

12、定容器的适当位置(布局设计); 创建事件对象的监听者。 Swing组件(javax.swing.*),20,按钮和标签,按钮(Button) 创建按钮 public Button() public Button(String label) 常用方法 public String getLabel() public void setLabel(String label) public void setActionCommand(String s) public String getActionCommand(String s) 事件响应 java.awt.event.ActionListener(

13、接口) void actionPerformed(ActionEvent e),21,按钮和标签,标签(Label) 创建标签 public Label() public Label(String s) public Label(String s, int alignment) 常用方法 public String getText() public void setText(String s) public void setAlignment(int alignment) 事件响应 不引发事件,22,使用标签的例子,import java.awt.*; import java.applet.*

14、; public class Exam5_3 extends Applet Label lab1, lab2; TextField text1, text2; public void init() lab1 = new Label(“输入姓名”); lab2 = new Label(“输入年龄”); lab1.setBackground(Color.red); lab2.setBackground(Color.green); text1 = new TextField(10); text2 = new TextField(10); add(lab1); add(text1); add(lab2

15、); add(text2); ,23,使用标签的例子, ,24,文本框和文本区,文本框(TextField) TextComponent类的子类 创建文本框 public TextField() public TextField(int size) public TextField(String s) public TextField(String s, int size) 常用方法 public void setText(String s) public String getText() public void setEchochar(char c) public void setEdita

16、ble(boolean b) 事件响应 java.awt.event.TextListener(接口) java.awt.event.ActionListener(接口),25,文本框和文本区,文本区(TextArea) TextComponent类的子类 创建文本区 public TextArea() public TextArea(String s) public TextArea(int rows, int columns) public TextArea(String s, int rows, int columns) public TextArea(String s, int rows, int columns, int scrollbars) SCROLLBARS_BOTH, SCROLLBARS_NONE SCROLLBARS_VERTICAL_ONLY SCROLLBARS_HORIZONTAL_ONLY 常用方法 publ

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号