(55)--14.2 Swing容器面向对象程序设计.ppt

上传人:奉*** 文档编号:96638607 上传时间:2024-02-01 格式:PPT 页数:21 大小:809.50KB
返回 下载 相关 举报
(55)--14.2 Swing容器面向对象程序设计.ppt_第1页
第1页 / 共21页
(55)--14.2 Swing容器面向对象程序设计.ppt_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《(55)--14.2 Swing容器面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《(55)--14.2 Swing容器面向对象程序设计.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、112.2 Swing容器容器java.awt.Container是Component的子类,一个容器可以容纳多个组件,并使它们成为一个整体。Swing常用的顶层容器有JFrame:用来创建application,最常用的JApplet:用来创建appletJDialog:用来创建对话框,常用JWindow:不常用 JavaJava程序界面的构成程序界面的构成程序界面的构成程序界面的构成一个顶层容器(即主窗口)一个顶层容器(即主窗口)顶层容器包含若干个中间容器顶层容器包含若干个中间容器每个中间容器包含若干个基本组件每个中间容器包含若干个基本组件按照合理的布局方式将它们组织在一起按照合理的布局方

2、式将它们组织在一起基本组件可响应发生在其上的事件基本组件可响应发生在其上的事件212.2 Swing容器n中间容器nJPanel,JScrollPane,JSplitPane,JTabbedPane、JInternalFrame:这些容器提供将有关组件按照某种布局组合在一起,然后放入中间容器或顶层容器的功能nJPanel:提供一个面板nJScrollPane:是具有滚动条的窗格nJSplitPane:是具有拆分功能的窗格nJTabbedPane:是带有若干标签的分类窗格nJInternalFrame:用于创建内嵌于JFrame中的内部框架nBox:提供创建横向/纵向盒子容器的功能312.2.1

3、 JFrame框架n类 JFrame 是java.awt.Frame的子类nJFrame上只能有一个唯一的组件JRootPane,调用JFrame.getContentPane()方法可获得JFrame中内置的JRootPane对象java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-java.awt.Window|+-java.awt.Frame|+-javax.swing.JFrame412.2.1 JFrame框架512.2.1 JFrame框架n构造方法:nJFrame():创建无标题窗口。nJFrame(String

4、s):创建标题名字是字符串s的窗口。例如:JFramef=newJFrame(“Hello”);nsetDefaultCloseOperation方法:n设置单击窗口上的关闭按钮时的事件处理方式。nJFrame.DO_NOTHING_ON_CLOSEnJFrame.HIDE_ON_CLOSEnJFrame.DISPOSE_ON_CLOSEnJFrame.EXIT_ON_CLOSE6表表9-5 9-5 组件类组件类ComponentComponent的常用方法的常用方法方法方法功能说明功能说明publicvoidsetBounds(intx,inty,intw,inth)以以(x,y)为对象的左

5、上角,以为对象的左上角,以w为宽,以为宽,以h为为高设置对象的显示区域高设置对象的显示区域publicvoidsetBackground(Colorc)设置对象的背景色为设置对象的背景色为cpublicvoidsetSize(intwidth,intheight)设置对象的大小设置对象的大小publicvoidsetFont(Fontfont)设置对象的字体样式为设置对象的字体样式为fontpublicvoidsetForeground(Colorcolor)设置对象的前景色为设置对象的前景色为colorpublicvoidsetVisible(Booleanb)设置组件是否显示设置组件是否显

6、示publicvoidsetLocation(intx,inty)设置组件显示位置的左上角坐标为设置组件显示位置的左上角坐标为(x,y)publicStringgetName()返回对象的名称返回对象的名称演示程序:【例9-1】使用JFrame创建的框架窗口。12.2.1 JFrame框架n相关类n图标类:javax.swing.ImageIconn图像类:java.awt.Imagen创建图标和图像对象nImageIconii=newImageIcon(“x.gif”);nImageimage=ii.getImage();n设置setIconImage(image);812.2.2 JPan

7、el面板 面板(JPanel)轻量级容器组件没有标题的中间容器,实现容器的嵌套。默认布局管理器是FlowLayout这类容器不能独立存在,必须通过add()方法添加到一个顶层容器或存在于顶层容器的一个中间容器。面板(JPanel)的大小由它所包含的组件决定当组件个数增加,面板(JPanel)也会随之而增大9示例:示例:import java.awt.*;import javax.swing.*;public class JPanelDemo extends JFramepublic JPanel getGUI()JPanel p=new JPanel();p.add(new JButton(P

8、ress me);return p;public static void main(String args)JPanelDemo jp=new JPanelDemo();jp.setTitle(JPanel Demo);jp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jp.setContentPane(jp.getGUI();jp.setSize(200,200);jp.setVisible(true);演示程序:【例9-2】在框架窗口中加入JPanel面板。1012.2.3 JDialog对话框 JDialog组件(对话窗口)作用:用来显示

9、提示信息或接收用户输入。特点:没有最小化按钮、状态等控制元素。对话框一般都对应于一个顶层窗口,如JFrame窗口。对话框模式分类:有模式:在运行期间不允许用户同应用程序的其他窗口进行交互。通常情况下,程序要在处理完对话框中的数据后才能进行下一步工作,因此,有模式的对话框应用较多。无模式:允许用户同时在该对话框和程序其他窗口中切换操作。11表9-8JDialog类的构造方法构造方法构造方法功能说明功能说明publicJDialog()创建一个没有标题并且没有指定Frame所有者的无模式对话框publicJDialog(Dialogowner)创建无模式对话框,指定其拥有者为另一个对话框owner

10、publicJDialog(Dialogowner,Stringtitle)创建一个拥有者为对话框owner,标题为title的对话框publicJDialog(Dialogowner,Stringtitle,booleanmodal)创建一个拥有者为对话框owner,标题为title的对话框,其模式状态由modal来指定publicJDialog(Frameowner)创建无模式对话框,指定其拥有者为窗口ownerpublicJDialog(Frameowner,booleanmodal)创建一个拥有者为窗口owner的对话框,其模式状态由modal来指定publicJDialog(Fram

11、eowner,Stringtitle)创建一个标题为title,拥有者为窗口owner的对话框publicJDialog(Frameowner,Stringtitle,booleanmodal)创建一个标题为title,拥有者为一个窗口的对话框,其模式状态由modal来指定12表表9-9 JDialog9-9 JDialog类的常用方法类的常用方法方法方法功能说明功能说明publicJMenuBargetJMenuBar()返回此对话框上设置的菜单栏返回此对话框上设置的菜单栏publicContainergetContentPane()返回此对话框的返回此对话框的contentPane对象对象

12、publicvoidsetContentPane(ContainercontentPane)设置设置contentPane属性属性publicintgetDefaultCloseOperation()返回用户在此对话框上发起返回用户在此对话框上发起close时所执行的时所执行的操作操作publicvoidsetDefaultCloseOperation(intoperation)设置当用户在此对话框上发起设置当用户在此对话框上发起close时默认执时默认执行的操作行的操作publicvoidsetTitle(Stringtitle)将对话框标题设置为将对话框标题设置为titlepublicvo

13、idsetModal(booleanb)设置对话框是否为模式状态设置对话框是否为模式状态publicbooleanisModal()测试对话框是否为模式状态测试对话框是否为模式状态publicvoidsetResizable(booleanresizable)设置对话框是否可改变大小设置对话框是否可改变大小publicbooleanisResizable()测试对话框是否可改变大小测试对话框是否可改变大小publicvoidsetVisible(booleanb)设置对话框是否显示设置对话框是否显示publicvoiddispose()撤销对话框对象撤销对话框对象1312.2.4 Swing其

14、他容器(1)分层面板(JLayeredPane)Swing提供两种分层面板:JLayeredPane和JDesktopPane。JDesktopPane是JLayeredPane的子类,专门为容纳内部框架(JInternalFrame)而设置。向一个分层面板中添加组件,需要说明将其加入哪一层,指明组件在该层中的位置,语法为:add(Componentc,IntegerLayer,intposition)(2)滚动窗口(JScrollPane)主要通过移动JViewport(视口)来实现。滚动条实际就是沿着组件移动视口,同时描绘出它在下面“看到”的内容1412.2.4 Swing其他容器 151

15、2.2.4 Swing其他容器(3)分隔板(JSplitPane)lJSplitPane提供可拆分窗口,支持水平拆分(JSplitPane.HORIZONTAL_SPLIT)和垂直(JSplitPane.VERTICAL_SPLIT)拆分并带有滑动条。l常用方法有:JSplitPane(intnewOrientation,ComponentnewLeftComponent,ComponentnewRightComponent)创建一个具有指定方向和指定组件的新JSplitPane。addImpl(Componentcomp,Objectconstraints,intindex)/增加指定的组件

16、setTopComponent(Componentcomp)/设置顶部的组件setDividerSize(intnewSize)/设置拆分的大小setUI(SplitPaneUIui)/设置外观和感觉1612.2.4 Swing其他容器 1712.2.4 Swing其他容器(4)选项板(JTabbedPane)JTabbedPane提供一组可供用户选择的带有标签或图标的开关键。常用的方法如下:add(Stringtitle,Componentcomponent)/增加一个带特定标签的组件addChangeListener(ChangeListenerl)/选项板注册一个变化监听器(5)工具栏(

17、JToolBar)JToolBar是用于显示常用工具控件的容器。用户可以拖拽出一个独立的可显示工具控件的窗口。常用的方法如下:JToolBar(Stringname)/构造方法getComponentIndex(Componentc)/返回一个组件的序号getComponentAtIndex(inti)/得到一个指定序号的组件12.2.4 Swing其他容器(6)内部框架(JInternalFrame)内部框架JInternalFrame就如同一个窗口在另一个窗口内部。JFrameframe=newJFrame(InternalFrameDemo);/实例化窗口JDesktopPanedesk

18、top=newJDesktopPane();/实例化容器JDesktopPaneMyInternalFramemyframe=newMyInternalFrame();/实例化内部窗口desktop.add(myframe);/把内部窗口添加到容器中myframe.setSelected(true);/内部面板是可选择的frame.setContentPane(desktop);/把desktop设为frame的内容面板12.2.5 案例分析:案例分析:Swing容器综合实例容器综合实例 1.案例描述建立一个窗口对象,并在其上添加一个标签对象,用来显示对窗口的各种不同操作。在窗口中,单击窗口右

19、上角的关闭窗口按钮时,则弹出对话框,要求用户进一步确认是否要关闭该窗口。12.2.5 案例分析:案例分析:Swing容器综合实例容器综合实例 2.案例分析本案例需要创建一个窗口对象,该对象继承自JFrame类,在主窗口中创建一个标签对象。还需创建一个JDialog对象以及两个按钮,JDialog对象的拥有者为已创建的窗口对象。程序运行时将触发两个不同类的事件:一个是当单击窗口右上角的关闭按钮时所触发的WindowEvent事件;另一个是当对话框中的按钮被单击时所触发的ActionEvent事件。故系统需要实现WindowListener接口和ActionListener接口的监听程序。21Swing程序设计流程(1)引入swing包(2)选择外观和感觉(3)设置顶层容器(4)设置按钮和标签(5)向容器中添加组件(6)在组件周围添加边界(7)进行事件处理12.1 Swing概述

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁