欢迎来到天天文库
浏览记录
ID:33446453
大小:999.51 KB
页数:52页
时间:2018-05-24
《java面向对象程序设计第10章_swing图形用户界面》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章JavaSwing图形用户界面主讲:赵建邦办公室:信息学院202E-mail:zhaojianbang@nwsuaf.edu.cn本章主要内容10.1java.swing概述10.2窗口10.3文本组件10.4按钮与标签10.5选择性组件10.6布局管理器10.7中间容器10.8事件处理10.9界面开发难点:事件处理10.1JavaSwing概述JFC(JavaFoundationClasses)Java基础类库是一个图形框架,由以下三部分组成:AWT(AbstractWindowToolkit)Java抽象窗口工具包SwingJava2DA
2、PI(图形、图像、颜色、文本等)发展历史Java1.0的出现带来了抽象窗口工具箱(AWT)网景通讯公司Netscape开发了InternetFoundationClasses,简称:IFC,并联合Javasoft,在Java1.2推出了Swing早期称java包为核心库,称javax包为扩展库,后来某些javax包也发展成了核心库,如javax.swing10.1JavaSwing概述组件(Component)和容器(Container)在Java中,顶层窗口称为框架。在AWT库中,对应于框架的类是Frame,在Swing库中,相应的类是JFrame
3、。JFrame类扩展了Frame类。大部分AWT组件在Swing中都有等价的组件,它们在表示形式上差一个“J”框架(JFrame)是一个容器,我们可以向容器中添加组件图10.1:组件类继承关系通常把AWT控件称为重量级控件,把Swing控件称为轻量级控件10.1JavaSwing概述容器(Container)容器是一种比较特殊的组件,它可以包含其他的组件。我们可以把组件放在组件容器中。反之,如果一个组件不是组件容器,则其中不能包含其他的组件组件(Component)组件是有具体图形表示并能在屏幕上显示以和用户进行交互的一类对象。JFrame、JPan
4、el这类轻量级容器也是组件10.1JavaSwing概述javax.swing包中的组件包括两种:底层容器组件JFrameJDialogJWindowJApplet轻量级组件JComponent的子类:JButton、JTree、JMenubar、JTextField等Swing组件继承关系10.2窗口底层容器的作用:底层容器用于直接显示到系统平台上,其它组件被添加到底层容器上JFrame(窗口)是一个底层容器不允许将一个窗口添加到另一个容器中JFrame构造方法JFrame()创建一个无标题的窗口JFrame(Stringtitle)创建标题为ti
5、tle的窗口10.2.1JFrame常用方法例10.1框架外观的设置设置具有以下特征的框架:它的高度和宽度为整个屏幕的1/3;自定义窗口的标题和图标;窗口的大小不可变。程序代码见FrameSizeSet.java。运行结果如下:10.2.1JFrame常用方法JFrame类直接从Frame继承而来。对于框架外观的操作比较重要的方法如下:setIconImage——窗口最小化(在Java中称为图标化)时,把一个Image对象用作图标。setTitle——设置窗口中标题栏的文字。setResizable——设置用户是否可以改变框架大小。dispose方法
6、——关闭窗口,并回收该窗口的所有资源。setLocation——设置组件的位置。setBounds——重新设置组件的大小和位置10.2.1JFrame常用方法JFrame包含了四个窗格:RootPane、LayeredPane、GlassPane和ContentPane。如果需要将一些图形用户界面元素加入到框架中,我们需要在面板组件(JPanel)中进行绘制,然后将该面板组件加入到框架的内容窗格(ContentPane)中。相应的代码如下://得到JFrame的内容窗格对象ContainercontentPane=getContentPane();C
7、omponentc=newComponent();//Component代表各种控件类//将组件加入到内容窗格中contentPane.add(c);面板JPanel类本身是容器,它可以容纳其他图形用户界面元素,如按钮、菜单等。1110.2.2菜单条、菜单、菜单项典型的菜单:10.2.2创建菜单的步骤创建菜单栏、菜单、子菜单、菜单项将菜单项加入到子菜单或菜单中将子菜单加入到菜单中将菜单加入到菜单栏中//(a)创建菜单栏,并将菜单栏加入到框架中。JMenuBarmenuBar=newJMenuBar();setJMenuBar(menuBar);//(
8、b)创建“File”菜单、“Edit”菜单和“View”菜单。JMenufileMenu=newJMenu(
此文档下载收益归作者所有