1 / 8

第 18 讲 图形用户界面㈣

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

Download Presentation

第 18 讲 图形用户界面㈣

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第18讲 图形用户界面㈣

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

  3. Swing概述 • Swing组件几乎都是轻量组件 • Swing是由100%纯Java实现的,Swing组件是用Java实现的轻量级( light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。   • Swing采用了一种MVC的设计范式,即“模型-视图-控制”(Model-View-Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。 • Swing比AWT提供了更多的组件,这些组件都在javax.swing包中定义,按功能分类有下面几种。

  4. Swing概述 1.顶层容器组件(Top-Level Containers) JFrame,JDialog,JApplet,JSplitPane,JTabbedPane,JToolbar 2.特殊用途容器组件(Special-Purpose Containers) JInteralFrame,JLayeredFrame,JRootPane 3.基本组件(Basic Controls) JButton,JComboBox,JList,JMenu,JSlider,JTextField,JTextArea 4.信息显示组件(Uneditable Information Displays) JLabel,JProgressBar,JTooltip 5.格式化信息输入组件(Editable Displays of Formatted Information) JColorChooser,JFileChooser,JTable,JTree

  5. Swing基本组件的使用 • 向JFrame中添加组件的方法与AWT中向Frame中添加组件略有不同。JFrame中含JRootPane容器组件又内含contentPane容器组件,只能在contentPane容器中添加组件。通常,使用JFrame中的getContentPane()方法,获取对contentPane对象的引用 • 例Ex9_29 Swing基本组件的使用 • 从本例可以看出,Swing比AWT提供了更多的组件,而且每个组件的方法属性也比AWT中的组件丰富。

  6. JTree类 • 树状组件(JTree)提供了庞大的API,是Swing中功能最大的一个组件。几乎可以在树状组件上做任何动作,但是操作起来也很复杂。幸好,Swing提供了一个缺省的树状组件处理模式。当你按下按钮之后,新的子树状组件便会加到目前所选取的节点上。 • 例:Ex9_30 JTree类的使用 • 程序运行结果如图所示。运行时,首先生成一个带滚动条的面板treeScroller,然后通过Swing提供的缺省的树状组件DefaultMutableTreeNode生成多个节点。

  7. JTable类 • 和树状组件一样,表格(JTable)组件也非常的庞大。特别是程序通过JDBC访问数据时,常常会运用表格来显示界面。 • 例:Ex9_31 JTable类的使用 • 程序分析:程序中使用了构造方法JTable(Object[][] rowData, Object[] columnNames)生成一个二维表格。其中,rowDate数组是用来显示的值,columnNames数组表示是二维数组的列名称。

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

More Related