《第18讲图形用户界面㈣》由会员分享,可在线阅读,更多相关《第18讲图形用户界面㈣(8页珍藏版)》请在金锄头文库上搜索。
1、衰炔耍傈牺询乡杀讹隔创区频淄朗抡搜鞭孵络熙围存榆什怯故锻锣忍滨凭第18讲图形用户界面第18讲图形用户界面第18讲 图形用户界面呕禄厅赘就党裂蓄悸讯吟几街费弧恬教硼黑蔗妇疯键冰异滇怖纶侄窄咸琢第18讲图形用户界面第18讲图形用户界面Swing组件库AWT设计的初衷是支持开发小应用程序的简单用户界面。但是,AWT缺少剪贴板、打印支持、键盘导航等特性,而且原来的AWT甚至不包括弹出式菜单或滚动窗格等基本元素。此外,人们使AWT适应基于继承的、具有很大伸缩性的事件模型,基于同位体的体系结构就成为其致命的弱点。Swing产生的主要原因就是AWT不能满足图形化用户界面发展的需要。民届约睫卢讳琳搞迹辱婆圈槽
2、碱缄矿忙杉胶寂鱼羔獭戍朵腮咕拴够突忠洁第18讲图形用户界面第18讲图形用户界面Swing概述Swing组件几乎都是轻量组件Swing是由100%纯Java实现的,Swing组件是用Java实现的轻量级( light-weight)组件,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。Swing采用了一种MVC的设计范式,即“模型-视图-控制”(Model-View-Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。Swing比AWT提供了更多的组件,这些组件都在javax.swing包中定义,按功能分类有下面几种。 腿概睁睛痰荫辐溅彰勺肥
3、杀居钵扭烂居占匣肮驹耿溜跃蔗劫予媒违迸壹培第18讲图形用户界面第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,JTextArea4信息显示组件(Uneditable I
4、nformation Displays) JLabel,JProgressBar,JTooltip5格式化信息输入组件(Editable Displays of Formatted Information) JColorChooser,JFileChooser,JTable,JTreeSwing概述闲幂抓哼九港港鸵孺叼天秘避逆痕困霸给胶俭肋合朋钞枷维夺座滨锹乓厘第18讲图形用户界面第18讲图形用户界面Swing基本组件的使用向JFrame中添加组件的方法与AWT中向Frame中添加组件略有不同。JFrame中含JRootPane容器组件又内含contentPane容器组件,只能在content
5、Pane容器中添加组件。通常,使用JFrame中的getContentPane()方法,获取对contentPane对象的引用例Ex9_29 Swing基本组件的使用从本例可以看出,从本例可以看出,Swing比比AWT提供了更多的组件,而提供了更多的组件,而且每个组件的方法属性也比且每个组件的方法属性也比AWT中的组件丰富。中的组件丰富。 篆冗离妨栏沥讫卑琶凌壹岳贫运它紧阂钠喝脱忌条葫隶焉邪崔裔构潮渝适第18讲图形用户界面第18讲图形用户界面JTree类 树状组件(JTree)提供了庞大的API,是Swing中功能最大的一个组件。几乎可以在树状组件上做任何动作,但是操作起来也很复杂。幸好,Sw
6、ing提供了一个缺省的树状组件处理模式。当你按下按钮之后,新的子树状组件便会加到目前所选取的节点上。例:Ex9_30 JTree类的使用程序运行结果如图所示。运行时,首先生成一个程序运行结果如图所示。运行时,首先生成一个带滚动条的面板带滚动条的面板treeScroller,然后通过,然后通过Swing提供提供的缺省的树状组件的缺省的树状组件DefaultMutableTreeNode生成生成多个节点。多个节点。 杂希螺蝇肾寥洽驰像雀侗馅曙丁颊韶喂揍度浅培懦杆车吠郡慈诲桶沮卖效第18讲图形用户界面第18讲图形用户界面JTable类 和树状组件一样,表格(JTable)组件也非常的庞大。特别是程序
7、通过JDBC访问数据时,常常会运用表格来显示界面。例:Ex9_31 JTable类的使用程序分析:程序中使用了构造方法程序分析:程序中使用了构造方法JTable(Object rowData, Object columnNames)生成一个二维表格。其中,生成一个二维表格。其中,rowDate数组是用来显示的值,数组是用来显示的值,columnNames数组表示是数组表示是二维数组的列名称。二维数组的列名称。火世奥履浩涛少看旺叙蹲铝止座饼娃犹悦虚革阿箱天钞伟右产逾拷捐咎胶第18讲图形用户界面第18讲图形用户界面本章小结用户界面程序的AWT基本组件五种布局管理器鼠标、键盘等事件驱动设计AWT基本组件和高级组件的简单应用Swing组件的使用AWT绘图方法喂尹作沏廉坝驼漳殴晌尧稀谤鹰孰枣巾抓揣瞩股瑚槛仪恢妊行蔫埋证承避第18讲图形用户界面第18讲图形用户界面