资源预览内容
第1页 / 共89页
第2页 / 共89页
第3页 / 共89页
第4页 / 共89页
第5页 / 共89页
第6页 / 共89页
第7页 / 共89页
第8页 / 共89页
第9页 / 共89页
第10页 / 共89页
亲,该文档总共89页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第六章 图形用户界面设计本章的主要内容是如何使用Java的组件构件图形用户界面,若要正确地设计图形用户界面,还要涉及到组件的布局与事件处理。因此学习本章应掌握的要点包括:掌握组件的概念及组件的多种子类的用法。掌握容器类和布局管理器。掌握事件类,事件接口和事件适配器。掌握颜色类和字体类。掌握实现下拉菜单和弹出式菜单的方法。 了解汉字的UniCode编码。 本章学习目标第六章 图形用户界面设计在Windows操作系统中使用的都是图形用户界面,要在Java中实现图形用户界面就要导入java.awt包,并使用其中的组件类。java.awt包及其中的组件类的继承、层次关系如表6-1所示。6.1 图形用户界面设计与java.awt包第六章 图形用户界面设计在Windows操作系统中使用的都是图形用户界面,要在Java中实现图形用户界面就要导入java.awt包,并使用其中的组件类。java.awt包及其中的组件类的继承、层次关系如表6-1所示。6.1 图形用户界面设计与java.awt包第六章 图形用户界面设计6.2 组件Component的概念 6.2.1 创建子类习目标组件是显示在屏幕上并能和用户进行交互的图形对象。例如常见的命令按钮、列表框、滚动条、位图等都是组件。图形用户 界面设计离不开组件的使用。 组件类Component位于java.awt包中,java.awt包与各组件的层次关系如表6-1所示。表6-1 java.awt包及其组件类的结构 第六章 图形用户界面设计第六章 图形用户界面设计6.2 组件Component的概念 6.2.2 组件类的方法组件类有很多方法用于对组件进行操作。表6-2列出一些常 用的方法,这些方法只是组件类所有方法中很小的一部分。 表6-2 组件类Component的常用方法常用方法 解释 public void setBackground ( Color c )设置背景色 public Color getBackground ( )取得背景色 public void setForeground ( Color c )设置前景色 public Color getForeground ( )取得前景色 public void setFont ( Font f )设置字体 public Font getFont ( )取得字体 public void setLocation ( Point p )设置定位 public Point getLocation ( )取得定位 public void setSize ( int width, int height )设置大小 public Dimension getSize ( )取得大小 public void setBounds(int x,int y,int width,int height)设置组件的位置和大小 public void paint ( Graphics g )绘制 public void repaint ( )重绘 public void print ( Graphics g )显示 public void setEnabled ( boolean b )设置能用性 public void setVisible ( boolean b )设置可见性 public void remove ( Component comp )移除组件第六章 图形用户界面设计6.3 事件Event6.3.1 事件类AWTEventJava通过ActionEvent、WindowEvent等事件类处理事件。这 些类的父类都是java.awt包中的AWTEvent类。表6-3给出了 AWTEvent类的层次结构。 表6-3 AWTEvent类的结构 java.lang.Object包Java.untl.EventObject类AWTEvent事件类ActionEvent按钮单击事件ComponentEvent组件事件ContainerEvent容器事件FocusEvent焦点事件InputEvent输入事件KeyEvent键盘事件MouseEvent鼠标事件WindowEvent窗口事件ItemEvent选择事件TextEvent文本框事件第六章 图形用户界面设计对于每一个事件,在进行相应的处理时必须知道该事件是哪一个组件产生的,Java的EventObject类提供了getSource方法用于获取产生事件的组件对象,而ActionEvent类提供了getActionCommand方法用于获取产生事件的按钮的标签,表6-4是这两个方法的语法格式。表6-4 事件处理的常用方法常用方法解释public Object getSource( )获取产生事件的组件public String getActionCommand( )获取按钮的标签6.3 事件Event第六章 图形用户界面设计6.3.2 事件类的接口interface在Java的java.awt.event包中,每个事件类都有一个对应的接口,并在接口中定义了若干个抽象的事件处理方法。若要接受并处理某一个事件类,必须实现相应的接口,这些接口名都是以Listener为后缀的。根据Java对接口的规定,实现接口时必须重写接口中的所有抽象方法,如果并不需要某一个方法,也要为该方法建立一个方法体为空的方法。表6-5中列出了各事件类应当实现的接口及接口中声明的抽象方法。 6.3 事件Event第六章 图形用户界面设计表6-9 标签组件Label的构造方法6.3 事件Event构造方法解释 public Label ( )创建标签 public Label ( String text )创建标签并指定其中的文本,其中 text是在标签中显示的字符串public Label ( String text, int alignment )创建标签并指定其中的文本和列数 ,其中text是在标签中显示的字符 串,alignment是文本对齐方式, 有三种取值: LEFT 左对齐(默认值)。 RIGHT 右对齐。 CENTER 居中。第六章 图形用户界面设计WindowEvent窗口事 件类 WindowListener窗 口事件接口public void windowOpened(WindowEvent e)打开窗口时public void windowActivated(WindowEvent e)激活窗口时public void windowClosing(windowEvent e)关闭窗口时public void windowClosed(windowEvent e)关闭窗口后public void windowDeactivated(WindowEvent e)窗口失去焦点时public void windowIconified(WindowEvent e)窗口由正常变为 最小化时 public void windowDeiconified(WindowEvent e)窗口由最小化变 为正常时 public void windowStateChanged(WindowEvent e)窗口状态变化时6.3 事件Event第六章 图形用户界面设计ActionEvent单击事件 类 ActionListener单击事 件接口public void actionPerformed(ActionEvent e)单击按钮时, 文本行中单击回车键 时, 双击列表框时, 选择菜单项时 TextEvent文本框事件类 TextListener文本框事 件接口public void textValueChanged(TextEvent e)文本行或文本区中内 容改变时ItemEvent选择事件类 ItemListener选择事件 接口public void itemStateChanged(ItemEvent e)选择复选框、选择框 时, 单击列表框时, 选中带复选框的菜单 项时 MouseEvent鼠标事件类 MouseMotionListener 鼠标移动事件接口public void mouseDragged(MouseEvent e)鼠标拖动时public void mouseMoved(MouseEvent e)鼠标移动时6.3 事件Event第六章 图形用户界面设计MouseEvent鼠标事件 类 MouseListener鼠标 按钮事件接口public void mouseClicked(MouseEvent e)单击鼠标时public void mouseEntered(MouseEvent e)鼠标进入时public void mouseExited(MouseEvent e)鼠标离开时public void mousePressed(MouseEvent e)按下鼠标时public void mouseReleased(MouseEvent e)放开鼠标时KeyEvent键盘事件类 KeyListener键盘事 件接口public void keyPressed(KeyEvent e) 按下键盘上的键 时 public void keyReleased(KeyEvent e) 释放键盘上的键 时 public void keyTyped(KeyEvent e)击键盘上的键时6.3 事件Event第六章 图形用户界面设计FocusEvnt焦点事件类 FocusListener焦点事 件接口public void focusGained(FocusEvent e)获得焦点时public void focusLost(FocusEvent e)失去焦点时AdjustmentEvent调整 事件类 AdjustmentListener 调整焦点事件接口public void adjustmentValueChanged(Adjustme ntEvent e)调整数值时6.3.3 事件适配器Adapter如6.3.2节所述,实现接口时必须重写接口中的所有方法,这 给编程带来了不便。为此Java提供了事件适配器。事件适配器是一 种特殊的类,都具有Adapter后缀,适配器实现了接口的所有方法 ,这样在创建新类时就可以不实现接口,而是转而继承相应的适配 器,继承适配器以后,只需重写用户用到的方法。表6-6给出了接 口与适配器的对应关系。 6.3 事件Event第六章 图形用户界面设计表6-6 接口与适配器的对应关系事件接口事件适配器 ComponentListener组件事件接口ComponentAdapter组件事件适配器ContainerListener容器事件接口ContainerAdapter容器事件适配器FocusListener焦点事件接口FocusAdapter焦点事件适配器KeyListener键盘事件接口KeyAdapter键盘事件适配器MouseListener鼠标按钮事件接口MouseAdapter鼠标按钮事件适配器MouseMotionListener鼠标移动事件接 口MouseMotionAdapter鼠标移动事件适配 器 WindowListener窗口事件接口WindowAdapter窗口事件适配器6.3 事件Event第六章 图形用户界面设计表6-7 按钮组件Button的构造方法6.4 按钮组件Button 6.4.1 按钮组件的方法和事件按钮Button是图形用户界面中最常用的组件。按钮一般响应单击事件,单击按钮时系统调用单击事件处理程序以完成预定的工作。1按钮组件的创建 表6-7给出了按钮组件的构造方法。 构造方法解释 public Button ( )创建按钮组件 public Button ( String label )创建按钮组件并指定其标签,其中label是显示在按钮上的 标签第六章 图形
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号