【教学课件】第6章图形用户界面.ppt
《【教学课件】第6章图形用户界面.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第6章图形用户界面.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Computer_yuComputer_yuComputer_yuComputer_yu第6章 图形用户界面6.1 Java图形用户界面初步6.2 事件处理6.3 布局管理6.4 Swing组件6.5 图形设计Java2程序设计实用教程(第2版)6.1 Java图形用户界面初步图形用户界面初步1.6.1.1 Java图形用户界面概述图形用户界面概述2.6.1.2 AWT组件概述组件概述Java2程序设计实用教程(第2版)6.1.1 Java图形用户界面概述图形用户界面概述1.图形用户界面概念图形用户界面概念图形用户界面(图形用户界面(Graphical User Interface,GUI),
2、使用图形方式借助菜单、按钮等标准),使用图形方式借助菜单、按钮等标准界面元素和键盘、鼠标操作,实现人机交互。界面元素和键盘、鼠标操作,实现人机交互。2.Java的的AWT和和Swingjava.awt包提供抽象窗口工具集(包提供抽象窗口工具集(Abstract Window Tookit,AWT)。)。javax.swing包提供包提供JDK 1.2的的Swing组件,组件,它扩展了它扩展了AWT组件的功能。组件的功能。Java2程序设计实用教程(第2版)6.1.2 AWT组件概述组件概述图图6.1 java.awt包中主要类及组件类的继承关系包中主要类及组件类的继承关系 Java2程序设计实
3、用教程(第2版)6.1.2 AWT组件概述组件概述1.组件组件public abstract class Component extends Object implements ImageObserver,MenuContainer,Serializable public void setLocation(int x,int y)/设置组件位置设置组件位置 public void setSize(int width,int height)/设置组件的宽度和高度设置组件的宽度和高度 public void setVisible(boolean b)/设置组件是否显示设置组件是否显示Java2程序
4、设计实用教程(第2版)6.1.2 AWT组件概述组件概述2.容器容器public class Container extends Component public void setLayout(LayoutManager mgr)/设置布局管理器设置布局管理器 public Component add(Component comp)/在容器中添加一个组件在容器中添加一个组件compJava2程序设计实用教程(第2版)6.1.2 AWT组件概述组件概述3.窗口(窗口(window)和面板()和面板(panel)4.框架框架Frame和对话框和对话框Dialog框架框架public class F
5、rame extends Window implements MenuContainer public Frame()public Frame(String title)/参数参数title指定框架的标题指定框架的标题 public String getTitle()/获取框架的标题获取框架的标题 public void setTitle(String title)/设置或修改框架的标题设置或修改框架的标题 public void setBackground(Color c)/设置框架的背景颜色设置框架的背景颜色 public void setResizable(boolean resizab
6、le)/设置框架是否可变大小设置框架是否可变大小Java2程序设计实用教程(第2版)6.1.2 AWT组件概述组件概述对话框对话框public class Dialog extends Window public Dialog(Frame owner)/owner指明拥有对话框的框架指明拥有对话框的框架 public Dialog(Frame owner,String title)/title是对话框的窗口标题是对话框的窗口标题 public Dialog(Frame owner,boolean modal)/modal指明该对话框是否为模指明该对话框是否为模式窗口式窗口 public Dia
7、log(Frame owner,String title,boolean modal)Java2程序设计实用教程(第2版)6.1.2 AWT组件概述组件概述5.标签标签public class Label extends Component implements Accessible public static final int LEFT /左对齐,默认值左对齐,默认值 public static final int CENTER /居中居中 public static final int RIGHT /右对齐右对齐 public Label()public Label(String tex
8、t)/text指定显示字符串指定显示字符串 public Label(String text,int alignment)/alignment指定对齐方式指定对齐方式 public String getText()/获得显示字符串获得显示字符串 public void setText(String text)/设定显示字符串设定显示字符串Java2程序设计实用教程(第2版)6.1.2 AWT组件概述组件概述6.文本行文本行public class TextField extends TextComponent public TextField()public TextField(String
9、text)public TextField(int columns)public TextField(String text,int columns)/text指定内容,指定内容,columns指定列数指定列数public class TextComponent extends Component implements Accessible public String getText()/获得文本行中的内容获得文本行中的内容 public void setText(String t)/设置文本行中的内容设置文本行中的内容 public void setEditable(boolean b)/设
10、置文本行是否可编辑设置文本行是否可编辑Java2程序设计实用教程(第2版)6.1.2 AWT组件概述组件概述7.按钮按钮public class Button extends Component implements Accessibl public Button(String label)/label指定按钮的标签指定按钮的标签8.错误与异常类错误与异常类【例例6.1】用户登录窗口。用户登录窗口。Java2程序设计实用教程(第2版)6.2 事件处理事件处理1.6.2.1 AWT的委托事件模型的委托事件模型2.6.2.2 AWTEvent事件类事件类3.6.2.3 事件监听器接口和事件适配器类
11、事件监听器接口和事件适配器类Java2程序设计实用教程(第2版)6.2.1 AWT的委托事件模型的委托事件模型1.事件事件事件(事件(event)是指一个状态的改变,或者一个活动的发)是指一个状态的改变,或者一个活动的发生。例如,单击一个按钮,将产生单击事件等。生。例如,单击一个按钮,将产生单击事件等。2.事件类事件类窗口事件类(窗口事件类(WindowEvent)和单击事件类)和单击事件类(ActionEvent)等)等 3.事件源事件源产生事件的组件称为事件源(产生事件的组件称为事件源(event source)。Java2程序设计实用教程(第2版)6.2.1 AWT的委托事件模型的委托事
12、件模型4.事件监听器事件监听器事件源组件注册事件监听器事件源组件注册事件监听器public class Button extends Component implements Accessibl public void addActionListener(ActionListener l)/注册单击事件监听器注册单击事件监听器 public void removeActionListener(ActionListener l)/取消注册单击事件监听器取消注册单击事件监听器例如,例如,button.addActionListener(this);/为按钮注册单击事件监听器为按钮注册单击事件监听器
13、事件处理方法事件处理方法public interface ActionListener extends EventListener public void actionPerformed(ActionEvent e);/单击事件处理方法单击事件处理方法Java2程序设计实用教程(第2版)图图6.3 按钮单击事件的响应及处按钮单击事件的响应及处理流程理流程 Java2程序设计实用教程(第2版)6.2.1 AWT的委托事件模型的委托事件模型【例例6.2】计算器程序雏形。计算器程序雏形。按钮单击事件的响应和处理按钮单击事件的响应和处理关闭窗口事件的响应和处理关闭窗口事件的响应和处理5.图形用户界面的
14、运行由事件驱动图形用户界面的运行由事件驱动不同组件的事件或同一组件的不同事件具有不同组件的事件或同一组件的不同事件具有约定的执行次序。约定的执行次序。各组件的事件处理方法是否执行以及执行次各组件的事件处理方法是否执行以及执行次序,取决于用户操作。序,取决于用户操作。在一个事件处理方法中,程序按照语句的书在一个事件处理方法中,程序按照语句的书写次序顺序执行。写次序顺序执行。Java2程序设计实用教程(第2版)6.2.2 AWTEvent事件类事件类图图6.5 AWT事件类及其层次结构事件类及其层次结构 Java2程序设计实用教程(第2版)6.2.2 AWTEvent事件类事件类public cl
15、ass EventObject implements java.io.Serializable public Object getSource()/返回产生事件的事件源组件返回产生事件的事件源组件 public String toString()/返回事件对象信息返回事件对象信息public class ActionEvent extends AWTEvent public String getActionCommand()/获得按钮的标签获得按钮的标签Java2程序设计实用教程(第2版)6.2.3 事件监听器接口和事件适配事件监听器接口和事件适配器类器类1.事件监听器接口事件监听器接口pub
16、lic interface ComponentListener extends EventListener public void componentResized(ComponentEvent e);/改变组件大小改变组件大小 public void componentMoved(ComponentEvent e);/移动组件移动组件 public void componentShown(ComponentEvent e);/显示组件显示组件 public void componentHidden(ComponentEvent e);/隐藏组件隐藏组件public interface Con
17、tainerListener extends EventListener public void componentAdded(ContainerEvent e);/添加组件添加组件 public void componentRemoved(ContainerEvent e);/移动组件移动组件2.事件监听器接口的意义事件监听器接口的意义Java2程序设计实用教程(第2版)3.事件适配器类事件适配器类public abstract class WindowAdapter implements WindowListener,WindowStateListener,WindowFocusListe
18、ner public void windowOpened(WindowEvent e)public void windowClosing(WindowEvent e)public void windowClosed(WindowEvent e)public void windowIconified(WindowEvent e)public void windowDeiconified(WindowEvent e)public void windowActivated(WindowEvent e)public void windowDeactivated(WindowEvent e)public
19、 void windowStateChanged(WindowEvent e)public void windowGainedFocus(WindowEvent e)public void windowLostFocus(WindowEvent e)Java2程序设计实用教程(第2版)4.组件类中注册事件监听器的方组件类中注册事件监听器的方法法public abstract class Component extends Object implements ImageObserver,MenuContainer,Serializable public void addKeyListener(K
20、eyListener l)/注册键盘事件监听器注册键盘事件监听器 public void removeKeyListener(KeyListener l)public void addMouseListener(MouseListener l)/注册鼠标事件监听器注册鼠标事件监听器 public void removeMouseListener(MouseListener l)public void addMouseMotionListener(MouseMotionListener l)/注册鼠标移动事件监听注册鼠标移动事件监听器器 public void removeMouseMotion
21、Listener(MouseMotionListener l)Java2程序设计实用教程(第2版)【例例6.3】显示一个三位整数的各显示一个三位整数的各位数字。位数字。1.文本行响应单击事件文本行响应单击事件2.处理输入错误处理输入错误3.使用对话框使用对话框4.窗口关闭事件不能委托其他类处理窗口关闭事件不能委托其他类处理Java2程序设计实用教程(第2版)6.3 布局管理布局管理1.6.3.1 布局管理器类布局管理器类2.6.3.2 容器的布局特性容器的布局特性Java2程序设计实用教程(第2版)6.3.1 布局管理器类布局管理器类1.FlowLayout(流布局管理器)(流布局管理器)pu
22、blic class FlowLayout implements LayoutManager,java.io.Serializable public static final int LEFT =0;/左对齐,类常量,全部大写左对齐,类常量,全部大写 public static final int CENTER=1;/居中居中 public static final int RIGHT =2;/右对齐右对齐 public FlowLayout()/构造方法,默认居中构造方法,默认居中 public FlowLayout(int align)/align参数指定对齐方式参数指定对齐方式 publ
23、ic FlowLayout(int align,int hgap,int vgap)/hgap、vgap参数指定组件之间水平和垂直间距(像素)参数指定组件之间水平和垂直间距(像素)Java2程序设计实用教程(第2版)2.BorderLayout(边布局管理(边布局管理器)器)public class BorderLayout implements LayoutManager2,java.io.Serializable public static final String NORTH =North;public static final String SOUTH =South;public st
24、atic final String EAST =East;public static final String WEST =West;public static final String CENTER=Center;/注意,字符串首字母大写注意,字符串首字母大写 public BorderLayout()/构造方法,组件之间的间距为构造方法,组件之间的间距为0像素像素 public BorderLayout(int hgap,int vgap)/参数指定组件之间水平和垂直的间距(像素)参数指定组件之间水平和垂直的间距(像素)Java2程序设计实用教程(第2版)3.GridLayout(网格布局
25、管理器)(网格布局管理器)public class GridLayout implements LayoutManager,java.io.Serializable public GridLayout()/构造方法构造方法 public GridLayout(int rows,int cols)/参数指定行、列参数指定行、列 public GridLayout(int rows,int cols,int hgap,int vgap)/后两个参数指定组件之间水平和垂直的间距(像素)后两个参数指定组件之间水平和垂直的间距(像素)Java2程序设计实用教程(第2版)6.3.2 容器的布局特性容器的布
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 图形 用户界面
限制150内