轻松学Java之图形界面编程课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《轻松学Java之图形界面编程课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 轻松 Java 图形界面 编程 课件
- 资源描述:
-
1、第16章 图形界面编程 图形用户界面(Graphical User Interface)简称GUI,提供了一种更加直观、友好的与用户进行交互的方式。利用Java语言进行图形用户界面操作主要由java.awt和javax.swing两个包来完成。其中,AWT包是图形用户界面处理的基本工具包,Swing包在AWT包的基础上进行了升级、扩展,具有更加强大的图形界面开发功能。本章在了解AWT包功能的基础上,重点讲解Swing的功能。1ppt课件16.1 AWT简介 Java 1.0的出现带来了抽象窗口工具箱(AWT)。设计目标是希望构建一个通用的GUI,使得利用它编写的程序能够运行在所有的平台上,以实
2、现Sun公司提出的口号“一次编写,随处运行”。Java AWT中包含了许多类来支持GUI设计。AWT由Java的java.awt包提供,该包中有许多用来设计GUI的组件类,如按钮、菜单、列表、文本框等组件类;同时还包含窗口、面板等容器类。AWT的具体层次结构如图16.1所示。2ppt课件16.1 AWT简介 Java提供了一系列AWT软件包,其中主要的包及包的描述如图16.2所示。3ppt课件16.1 AWT简介 java.awt包提供了基本的Java程序的GUI设计工具。主要包括组件、容器和布局管理器三个概念,其具体描述如图16.3所示。4ppt课件16.2 Swing简介 Swing是Ja
3、va基础类库(Java Foundation Classes)中有关图形界面的类库。Swing扩展自AWT。例如JFrame扩展自Frame,JButton扩展自Component等。基本上AWT中的每种控件都能在Swing中找到替代品,比如AWT中的Button对应于Swing中的JButton,AWT中的TextField对应于Swing中的JTextField等。5ppt课件16.2 Swing简介 Swing包是JFC(Java Foundation Classes)的一部分,它由许多包组成,这些包的名称及描述如表16.1所示。包名包名包的描述包的描述Com.sum.swing.pla
4、f.motif实现Motif界面样式代表类Com.sum.java.swing.plaf.windows实现Windows界面样式的代表类javax.swingSwing组件和使用工具javax.swing.borderSwing轻量组件的边框javax.swing.colorchooserJcolorChooser的支持类/接口javax.swing.event事件和侦听器类javax.swing.filechooserJFileChooser的支持类/接口javax.swing.pending未完全实现的Swing组件javax.swing.plaf抽象类,定义UI代表的行为javax.s
5、wing.plaf.basic实现所有标准界面样式公共基类javax.swing.plaf.metal它们实现Metal界面样式代表类javax.swing.tableJtable组件javax.swing.text支持文档的显示和编辑javax.swing.text.html支持显示和编辑HTML文档javax.swing.text.html.parserHtml文档的分析器javax.swing.text.rtf支持显示和编辑RTF文件javax.swing.treeJtree组件的支持类javax.swing.undo支持取消操作6ppt课件16.3 容器类 窗口(JFrame)、面板(
6、JPanel)和对话框(J)是Swing中提供用来创建表示图形用户界面的类。该类的对象将被当作容器使用,所有的Swing组件都必须被添加到容器中,才能被显示出来。7ppt课件16.3.1 JFrame类 JFrame是一个窗口容器组件,可以被显示在用户桌面上,同时也是一个框架,在其中,可以添加需要的其他的Swing组件。JFrame是少数几个不是通过绘制的方式显示的Swing组件。JFrame类的构造方法如图16.5所示。8ppt课件16.3.1 JFrame类 JFrame类中还提供了一些与窗口有关的方法。其主要方法与方法描述如表16.2所示。方法方法方法描述方法描述public void
7、setVisible(boolean b)判断窗体是否可见。如果参数b为true则表示显示该窗体,否则表示不可见public void setBackground(Color c)设置窗体背景颜色public void setTitle(String s)设置标题。其中参数s表示要显示在窗体边界中的标题public String getTitle()获取窗体边界的标题。如果没有标题则返回空字符串public void pack()调整适合其子组件的大小和布局窗口的大小public void setResizable(boolean resizable)设置窗口大小是否可以调整public Co
8、ntainer getContentPane()返回此窗体的 contentPane 对象public void setLayout(LayoutManager manager)设置布局管理器public void validate()验证容器及其容器中的组件9ppt课件16.3.2 JDialog类 JDialog是一个用来创建对话框的类,是Dialog类的子类。创建的JDialog对象可以用来向用户返回信息,接收用户的输入,实现与用户的交互。JDialog与JFrame的区别在于:JDialog对象需要依赖于其他的对话框(比如Jframe)而存在,当它所依赖的对话框关闭或最小化的时候,该对
9、话框也随之关闭或最小化。10ppt课件16.3.2 JDialog类 JDialog类创建对话框对象的构造方法如图16.7所示。JDialog类中的主要方法及方法描述如表16.3所示。方法方法方法描述方法描述String getTitle()用于获取对话框的名字void setTitle(String s)用于设置对话框的名字void setModal(boolean b)用于设置对话框的模式setSize(int width,int height)用于设置对话框的大小void setVisible(boolean b)用于设置对话框是否可见11ppt课件16.3.3 JPanel类 在得到了
10、JFrame的内容面板后我们就可以直接将其他的Swing组件放在其中,或者直接在上面描绘图画或文字,但是习惯上一般不会这么做。通常会将这些图画或文字信息描绘在名为JPanel的容器上,然后再将JPanel实例放在内容面板上。这样可以使得面板上的布局更合理。JPanel通常只作为纯粹的容器来使用,它不能像框架、窗口或者对话框那样独立存在。JPanel的构造方法如图16.9所示。12ppt课件16.4 Swing常用基本组件 创建图形用户界面GUI,就是为了让计算机程序更好的和用户交互。Java Swing提供了二十多种不同的用户界面组件。所有的Swing组件都是从javax.swing.Jcom
11、ponent类中派生而来的,从而继承了组件所特有的属性和方法。13ppt课件16.4.1 常用组件的共性操作 Swing类库中的组件都继承自javax.swing.JComponent,因此都具有JComponent的操作,包括设置背景色、设置前景色、设置字体以及设置是否禁用等。表16.4中是JComponent中常用的方法及方法描述。方法方法方法描述方法描述int getHeight()返回组件高度int getWidth()返回组件宽度String getToolTipText()返回工具提示void setToolTipText(String text)设置工具提示Dimension g
12、etSize(Dimension rv)返回尺寸int getX()返回位置xvoid setBackground(Color bg)设置背景色void setOpaque(boolean isOpaque)设置是否透明void setVisible(boolean aFlag)设置是否可见void setFont(Font font)设置字体void setBorder(Border border)设置边框14ppt课件16.4.2 按钮(JButton)按钮是用户界面中常用的组件。用户使用Swing按钮可以显示图像,将整个按钮设置为窗口默认图标,来处理鼠标在按钮上的事件。java.swin
13、g包中提供了标准的按压式按钮(JButton)。同时提供了选择式按钮:多选择(JCheckBox)、单选择(JRadioButton)等。我们在这里先来讲解JButton的知识。JButton的构造方法如图16.11所示。15ppt课件16.4.3 文本框(JTextField)与密码输入框(JPasswordField)文本框(JTextField)也是一种常见的组件,用于处理一行文本(中间没有回车符)。JTextField 是JTextComponent的子类。密码输入框是JTextField的一个子类。JTextField和JPasswordField的构造函数形式和常用方法完全一样。这
14、里只列出JTextField的构造函数,如图16.13所示。16ppt课件16.4.4 文本域(JTextArea)文本域(JTextArea)也是一种常用组件,用于处理多行文本。JTextArea同JTextField一样,都是JTextComponent的子类,因此它们的很多操作都类似,我们不再赘述。JTextArea的构造函数如图16.15所示。17ppt课件16.4.5 标签(JLabel)标签(JLabel)用来显示一段文本,常用在JTextField或者JTextArea前面,提示用户要填写什么样的信息。JLabel用于显示文字,也可以同时显示文字和图标,一般不用于接收鼠标键盘的动
15、作。JLabel的构造方法如图16.17所示。18ppt课件16.4.6 单选按钮(JRadioButton)JRadioButton用来实现单选按钮组件,按钮有选中和没被选中两种状态。多个单选按钮中,一次只能有一个按钮处于被选中状态。JRadioButton的构造方法如图16.19所示。19ppt课件16.4.7 复选框(JCheckBox)JCheckBox是用来实现JCheckBox的组件。复选框是一个可以被选定和取消选定的项,它将其状态显示给用户。一次可以选中多个复选框。JCheckBox类的构造方法如图16.21所示。20ppt课件16.4.8 下拉列表(JComboBox)下拉列表
16、(JComboBox)是一种常见的组件。用户可以从下列的菜单列表中选择所需要的数据。一个下拉列表只能选择一个选项。JComboBox的构造方法如图16.23所示。可以将需要在下拉列表中显示的各项放入一个数组中,然后利用其相应的构造方法将数组元素的各项显示出来。21ppt课件16.4.9 列表(JList)JList是用来表示列表的组件。该组件与下拉列表不同,它可以显示多个项目的内容,并且允许用户从列表中选择一个或多个对象。JList的主要构造方法如图16.25所示。与下拉列表相同,可以将需要显示的内容先放入一个数组中,然后使用带有Object类型数组为参数的的构造方法创建一个JList对象,将
17、列表中各项显示出来。22ppt课件16.4.10 滚动条(JScrollPane)JscrollPane类的对象可以创建一个垂直或者水平方向的滚动条。在实际使用中,它需要和某个容器相关联。例如,表格、窗体等。JScrollPane类的构造方法如图16.27所示。23ppt课件16.5 Swing高级组件 16.4小节中我们介绍了Swing基本组件,但在实际应用中,对于一些比较复杂的界面,除了使用这些基本组件之外,还需要使用诸如表格、菜单、工具栏等这些组件。本节我们就来介绍Swing中的一些高级组件的创建和使用,包括表格、树、菜单,以及对话框等组件。24ppt课件16.5.1 表格(JTable
18、)表格(JTable)是Swing新增加的组件,主要是为了将数据以表格的形式显示。JTable是一个用来显示和编辑二维单元表格的组件。可以通过创建一个二维数组对象,并将二维数组中定义并初始化的值放入到表中。Jtable创建表格的主要构造方法如图16.29所示。25ppt课件16.5.2 树(JTree)树是非常重要也是常用的一种数据结构。在计算机中也有着广泛的应用,计算机中的目录和文件的存储结构都是树形的。在Swing中,可以使用JTree来构建一个树形结构模型。首先我们可以先举一个树形结构的例子,例如在“我的电脑”的C盘下的目录结构,如图16.31所示。26ppt课件16.5.2 树(JTr
19、ee)在这个图中我们要注意以下几点:一颗树中只有一个根结点。其余结点都是从该结点引出。除根结点外。其余结点要么是没有子结点的结点要么是带有子结点的结点。没有子结点的结点称为叶子结点。在图16.31的树结构中,“计算机”是根结点,“Intel”文件是一个叶子结点,“NVIDIA”文件是一个带有子结点的结点。然后我们看JTree的主要的构造方法,如图16.32所示。27ppt课件16.5.3 菜单(JMenu)菜单(JMenu)是标题栏下面的一行文字部分。菜单是应用程序中最常用的组件。菜单的组织方式为:一个菜单条JMenuBar包含多个菜单项(JMenuItem)。JMenuItem有两个子类,分
20、别为JRadioButtonMenuItem及JCheckBoxMenuItem用于表示单选菜单项和复选菜单项。28ppt课件16.5.3 菜单(JMenu)JMenu组件类的主要构造方法如图16.34所示。创建菜单项的JMenuItem的主要构造方法如图16.35所示。29ppt课件16.5.4 工具栏(JToolBar)工具栏(JToolBar)提供了一种可以快速访问界面中常用命令的方式。通常工具栏应该放到边界布局中的一边。可以水平和垂直放置,也可以拖动工具栏将其放置在想要放置的位置。工具栏一般放到菜单栏的下面,可以把菜单栏中的常用命令放到工具栏中,以方便用户操作。30ppt课件16.5.
21、4 工具栏(JToolBar)Java中可以通过创建JToolBar对象来实现工具栏。JToolBar的主要构造方法如图16.37所示。orientation参数可以是以下两个值中的任何一个。SwingConstants.HORIZONTAL表示工具栏以水平方向放置。SwingConstants.VERTICAL表示工具栏以垂直方向放置。31ppt课件16.5.5 进程条(JprogressBar)进程条(JprogressBar)是以图形化的方式来描述任务进度的组件。在任务完成过程中,进度条显示该任务完成的百分比,百分比通常用可视化的矩形表示,该矩形开始为空,随着任务的执行,组件被填满。Jp
展开阅读全文