第 18 讲 图形用户界面㈣

8
第 18 第 第第第第第第第

Upload: shana-vazquez

Post on 30-Dec-2015

56 views

Category:

Documents


4 download

DESCRIPTION

第 18 讲 图形用户界面㈣. Swing 组件库. AWT 设计的初衷是支持开发小应用程序的简单用户界面。但是, AWT 缺少剪贴板、打印支持、键盘导航等特性,而且原来的 AWT 甚至不包括弹出式菜单或滚动窗格等基本元素。此外,人们使 AWT 适应基于继承的、具有很大伸缩性的 事件 模型,基于同位体的体系结构就成为其致命的弱点。 Swing 产生的主要原因就是 AWT 不能满足图形化用户界面发展的需要。. Swing 概述. Swing 组件几乎都是轻量组件 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 18 讲  图形用户界面㈣

第 18讲 图形用户界面㈣

Page 2: 第 18 讲  图形用户界面㈣

Swing组件库•AWT 设计的初衷是支持开发小应用程序的简单用户

界面。但是, AWT 缺少剪贴板、打印支持、键盘导航等特性,而且原来的 AWT 甚至不包括弹出式菜单或滚动窗格等基本元素。此外,人们使 AWT 适应基于继承的、具有很大伸缩性的事件模型,基于同位体的体系结构就成为其致命的弱点。

•Swing 产生的主要原因就是 AWT 不能满足图形化用户界面发展的需要。

Page 3: 第 18 讲  图形用户界面㈣

Swing概述• Swing 组件几乎都是轻量组件• Swing 是由 100% 纯 Java实现的, Swing 组件是用

Java实现的轻量级( light-weight )组件,没有本地代码,不依赖操作系统的支持,这是它与 AWT 组件的最大区别。  

• Swing 采用了一种 MVC 的设计范式,即“模型 - 视图 -控制”( Model-View-Controller ),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。

• Swing 比 AWT 提供了更多的组件,这些组件都在 javax.swing 包中定义,按功能分类有下面几种。

Page 4: 第 18 讲  图形用户界面㈣

1 .顶层容器组件( Top-Level Containers ) JFrame , JDialog , JApplet , JSplitPane , JTabbedPane , JToolbar2 .特殊用途容器组件( Special-Purpose Containers ) JInteralFrame , JLayeredFrame , JRootPane3 .基本组件( Basic Controls ) JButton , JComboBox , JList , JMenu , JSlider , JTextField , JTe

xtArea4 .信息显示组件( Uneditable Information Displays ) JLabel , JProgressBar , JTooltip5 .格式化信息输入组件( Editable Displays of Formatted Information ) J

ColorChooser , JFileChooser , JTable , JTree

Swing概述

Page 5: 第 18 讲  图形用户界面㈣

Swing基本组件的使用• 向 JFrame 中添加组件的方法与 AWT 中向 Frame 中

添加组件略有不同。 JFrame 中含 JRootPane 容器组件又内含 contentPane 容器组件,只能在 contentPane 容器中添加组件。通常,使用 JFrame 中的 getContentPane() 方法,获取对 contentPane 对象的引用

• 例 Ex9_29 Swing 基本组件的使用从本例可以看出, Swing 比 AWT 提供了更多的组件,而且每个组件的方法属性也比 AWT 中的组件丰富。

Page 6: 第 18 讲  图形用户界面㈣

JTree类

• 树状组件( JTree )提供了庞大的 API ,是 Swing中功能最大的一个组件。几乎可以在树状组件上做任何动作,但是操作起来也很复杂。幸好, Swing 提供了一个缺省的树状组件处理模式。当你按下按钮之后,新的子树状组件便会加到目前所选取的节点上。

• 例 :Ex9_30 JTree 类的使用

程序运行结果如图所示。运行时,首先生成一个带滚动条的面板 treeScroller ,然后通过 Swing提供的缺省的树状组件 DefaultMutableTreeNode生成多个节点。

Page 7: 第 18 讲  图形用户界面㈣

JTable类 •和树状组件一样,表格( JTable )组件也非常的庞

大。特别是程序通过 JDBC访问数据时,常常会运用表格来显示界面。

• 例 :Ex9_31 JTable 类的使用

程序分析:程序中使用了构造方法 JTable(Object[][] rowData, Object[] columnNames) 生成一个二维表格。其中,rowDate 数组是用来显示的值, columnNames 数组表示是二维数组的列名称。

Page 8: 第 18 讲  图形用户界面㈣

本章小结• 用户界面程序的 AWT 基本组件•五种布局管理器•鼠标、键盘等事件驱动设计• AWT 基本组件和高级组件的简单应用• Swing 组件的使用• AWT绘图方法