《【教学课件】第18讲图形用户界面㈣.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第18讲图形用户界面㈣.ppt(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第18讲 图形用户界面Swing组件库AWT设计的初衷是支持开发小应用程序的简单用户界面。但是,AWT缺少剪贴板、打印支持、键盘导航等特性,而且原来的AWT甚至不包括弹出式菜单或滚动窗格等基本元素。此外,人们使AWT适应基于继承的、具有很大伸缩性的事件模型,基于同位体的体系结构就成为其致命的弱点。Swing产生的主要原因就是AWT不能满足图形化用户界面发展的需要。Swing概述Swing组件几乎都是轻量组件Swing是由100%纯Java实现的,Swing组件是用Java实现的轻量级(light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。Swing采
2、用了一种MVC的设计范式,即“模型-视图-控制”(Model-View-Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。Swing比AWT提供了更多的组件,这些组件都在javax.swing包中定义,按功能分类有下面几种。1顶层容器组件(Top-Level Containers)JFrame,JDialog,JApplet,JSplitPane,JTabbedPane,JToolbar2特殊用途容器组件(Special-Purpose Containers)JInteralFrame,JLayeredFrame,JRootPane3基本组件(Basic
3、Controls)JButton,JComboBox,JList,JMenu,JSlider,JTextField,JTextArea4信息显示组件(Uneditable Information Displays)JLabel,JProgressBar,JTooltip5格式化信息输入组件(Editable Displays of Formatted Information)JColorChooser,JFileChooser,JTable,JTreeSwing概述Swing基本组件的使用向JFrame中添加组件的方法与AWT中向Frame中添加组件略有不同。JFrame中含JRootPane
4、容器组件又内含contentPane容器组件,只能在contentPane容器中添加组件。通常,使用JFrame中的getContentPane()方法,获取对contentPane对象的引用例Ex9_29 Swing基本组件的使用从本例可以看出,从本例可以看出,Swing比比AWT提供了更多的组件,而提供了更多的组件,而且每个组件的方法属性也比且每个组件的方法属性也比AWT中的组件丰富。中的组件丰富。JTree类 树状组件(JTree)提供了庞大的API,是Swing中功能最大的一个组件。几乎可以在树状组件上做任何动作,但是操作起来也很复杂。幸好,Swing提供了一个缺省的树状组件处理模式。
5、当你按下按钮之后,新的子树状组件便会加到目前所选取的节点上。例:Ex9_30 JTree类的使用程序运行结果如图所示。运行时,首先生成一个程序运行结果如图所示。运行时,首先生成一个带滚动条的面板带滚动条的面板treeScroller,然后通过然后通过Swing提供提供的缺省的树状组件的缺省的树状组件DefaultMutableTreeNode生成生成多个节点。多个节点。JTable类 和树状组件一样,表格(JTable)组件也非常的庞大。特别是程序通过JDBC访问数据时,常常会运用表格来显示界面。例:Ex9_31 JTable类的使用程序分析:程序中使用了构造方法程序分析:程序中使用了构造方法JTable(Object rowData,Object columnNames)生成一个二维表格。其中,生成一个二维表格。其中,rowDate数组是用来显示的值,数组是用来显示的值,columnNames数组表示是数组表示是二维数组的列名称。二维数组的列名称。本章小结用户界面程序的AWT基本组件五种布局管理器鼠标、键盘等事件驱动设计AWT基本组件和高级组件的简单应用Swing组件的使用AWT绘图方法