第六章 图形用户界面
本章讲解Java图形界面应用程序的一般设计方法,包括如何创建窗体、设计界面、管理布局、绘制图形、使用组件、事件编程等。
通过这一章的学习要求重点掌握图形用户界面应用程序的设计方法和编程技巧。
GUI编程基础
图形用户界面(GUI)使用户可以和程序进行可视化交互。
一个设计良好的软件通常包括业务层的逻辑设计和表现层的用户界面设计两大部分。
图形用户界面的几个概念
GUI组件:GUI组件是图形用户界面中用来显示数据或者与用户进行交互的对象,如菜单、按钮、文本域、标签和下拉列表框等。
容器:放置GUI组件的界面,容器中也可以放置子容器。
布局:约束GUI组件、或者容器排列方式的规则
GUI框架
菜单栏
顶级容器
GUI组件
GUI组件
中间容器
中间容器
提交
Swing和AWT
Java类库中的AWT和Swing包提供了大量的可视化组件,AWT组件是建立在对等模型的基础上的重量级组件;而Swing组件则是用纯Java编写的轻量级组件。
Swing带来了以下优势:
更丰富、更方便的用户界面元素集。
对底层平台的依赖更少,因此和平台有关的bug也少得多。
给不同平台上的用户一致的感觉。
AWT与Swing的结构关系以及Swing的组件关系
Swing的容器层次
设计 GUI 时,都有用于放置可视化组件的主窗口。
Container 对象可用于将组件组合在一起。
容器中的组件根据特定布局排列。
Swing 中的容器有两类:
- 顶级容器
- 中间容器
顶级容器
JFrame:用于框架窗口的类,此窗口带有边框、标题、用于关闭和最小化窗口的图标等。带 GUI 的应用程序通常至少使用一个框架窗口。
JDialog:用于对话框的类。
JApplet:用于使用 Swing 组件的 Java Applet 的类。
中间容器
JPanel:最灵活、最常用的中间容器。
JScrollPane:与 JPanel 类似,但还可在大的组件或可扩展组件周围提供滚动条。
JTabbedPane:包含多个组件,但一次只显示一个组件。用户可在组件之间方便地切换。
JToolBar:按行或列排列一组组件(通常是按钮)。
窗体容器(JFrame)
框架(JFrame)是—种常用的顶层容器。框架的内部结构比较复杂,它可以划分为4种窗格:根窗格(Root Pane)、布局窗格(Layered Pane)、内容窗格(Content Pane)和玻璃窗格(Glass Pane)。
对JFrame添加组件有两种方式:1、用getContentPane方法获得JFrame的内容窗格,再对其加入组件;2、建立一个JPanel之类的中间容器,把组件添加到中间容器中,用setContentPane方法把该中间容器置为JFrame的内容窗格。
面板(JPanel)有一个能够在上面进行绘制的表面,而且其本身也是容器。因此,它除了可以绘制图形、文字,还能容纳按钮、滑动条等其他用户界面元素。
Title
JFrame
Menu
Root Pane
Layered Pane
Content Pane
Glass Pane
MenuBar
1、用getContentPane方法获得JFrame的内容窗格,再对其加入组件:
().add(ponent);
2、建立一个JPanel之类的中间容器,把组件添加到容器中,用setContentPane方法把该容器置为JFrame的内容窗格:
JPanel contentPane=new JPanel( );
……//把其它组件添加到JPanel中;
(contentPane);
//把contentPane对象设置成为frame的内容窗格
窗体容器(JFrame)
JMnuBar
ContentPane
JFame窗体的直观效果
JAVA程序设计PPT教学课件-第六章 图形用户界面 来自淘豆网m.daumloan.com转载请标明出处.