Java第六章图形界面设计.pptVIP

  • 1
  • 0
  • 约7.09千字
  • 约 43页
  • 2017-08-23 发布于河南
  • 举报
Java程序设计 图形界面设计 内容 创建图形界面 AWT事件模型 Swing常用组件 6.1.1 图形用户界面概述 Java1.0的出现带来了抽象窗口工具箱(AWT)。设计目标是希望构建一个通用的GUI,使得利用它编写的程序能够运行在所有的平台上,以实现Sun公司提出的口号“一次编写,随处运行”。 在Java1.2中,Sun公司推出了新的用户界面库:Swing。相对AWT来说,Swing功能更强大、使用更方便,它的出现使得Java的图形用户界面上了一个台阶。 6.1.2 GUI包 java.awt包 称为抽象窗口工具集AWT(Abstract Window Toolkit),是使用Java进行GUI设计的基础。 javax.swing包 Swing组件存放在javax.swing包中。几乎所有AWT组件对应有新功能更强的Swing组件。另外还加入了一些全新的组件。Swing组件在名称上前面多了一个字母“J” 。 6.1.3 容器、组件和布局 容器和组件 组件是可以用图形化的方式显示在屏幕上并能够与用户进行交互的对象。 容器是一种特殊的组件,一种能够容纳其他组件或容器的组件。 布局管理器 为了使图形用户界面具有良好的平台无关性,提供了专门用来管理组件在容器中的布局的工具。 6.1.4 Java的图形类结构 6.1.5 JFrame 用于在 Swing 程序中创建窗体 构造函数: JFrame() JFrame(String Title) 组件必须添加至内容窗格,而不是直接添加至 JFrame 对象,示例: JFrame 示例 6.1.6 JLabel 它既可以显示文本也可以显示图像 构造函数: JLabel(Icon icon):icon表示使用的图标 JLabel(String text,Icon icon,int align):text表示使用的字符串; icon表示使用的图标;align表示水平对齐方式,其值可以为:LEFT(默认)、RIGHT、CENTER。 其它常用方法 getText() setText(String text) 6.1.7 JButton 用于创建按钮 构造函数: JButton() : JButton(Icon icon) JButton(String text) JButton(String text, Icon icon) 6.1.7 JTextField 此类的构造函数包括: JTextField() JTextField(int columns) JTextField(String text) 6.1.8 JPanel JPanel 是一个中间容器 用于将小型的轻量级组件组合在一起 JPanel 的缺省布局为 FlowLayout JPanel 具有下列构造函数: JPanel() JPanel(LayoutManager lm) 6.1.9 示例 SwingComps.java 6.2 Java AWT事件处理机制 事件源:是一个事件的产生者 例如,在Button组件上点击鼠标会产生以这个Button 为源的一个ActionEvent。这个ActionEvent实例是一个对象,它包含关于刚才所发生的那个事件的信息。 事件侦听者:就是一个接收事件、解释事件并处理用户交互的对象。 6.2.1 层次事件模型( JDK1.0) 事件先发送到组件,然后沿容器层次向上传播。没有被组件处理的事件会自动地继续传播到组件的容器。 特点:简单,但事件只能由产生这个事件的组件或包含这个组件的容器处理,并且效率低。 6.2.2 委托事件模型( JDK1.1) 在这个模型中,事件被送往产生这个事件的组件,随后将事件转发给事件侦听者,事件侦听者在能够接收事件之前必须先注册到事件源中。而为了侦听者能够接收事件,侦听者必须实现与事件相对应的Listener接口。 事件是只向注册的监听者报告的对象。每个事件都有一个对应的监听者接口,规定哪些方法必须在该事件侦听者的类中定义。实现此接口的类的对象可以注册为一个该事件的监听者. 委托事件模型 示例:ActionDemo.java 6.2.3 方法类型和接口 6.2.4 事件Adapters(适配器) 一旦指定一个类实现了某个事件监听器接口,就必须实现这个监听器接口的所有方法,否则你只能将你的类定义为抽象类而无法定义这个类的实例。从上面的例子我们可以看到,实现每个Listener接口的所有方法的工作量均是非常大的,尤其是MouseListener接口和ComponentListener接口。 以MouseListener接口为例,它定义了如下方法: mouseClicked(MouseEvent) mouseEntered(MouseEvent) mouseE

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档