模块4 图形用户界面 --- 第十二章:创建图形用户界面

第十二章 创建图形用户界面

主要知识点

  1、图形用户界面的主要特征

  2、AWT组件的一般功能

  3、Frame类和Panel类的用法

  4、窗口布局管理

学习目标

  掌握图形用户界面(GUI)的组件构成,主要容器的功能以及组件布局管理方法,能够运用AWT的基本组件设计图形用户界面。图形用户界面提供了所见即所得的功能。方便了用户的操作,成为软件设计的通用标准。Java语言提供了设计图形用户界面所需要的基本组件,这些组件可以设计出功能强大的GUI软件。

12.1 分析图形用户界面特征

  抽象窗口工具包AWT是一组Java类,GUI通过键盘或鼠标响应用户的操作。Java GUI的基本组成部件是Component类及子类的对象。

12.1.1 AWT 组件的一般功能

  java.awt包的核心类是Component(组件)类,它是构成图形用户界面的基础。所有其它组件都是这个类派生出来的,但是Component类是一个抽象类,不能直接使用,要通过其子类才能实例化。

  Component类定义了AWT组件的一般功能,包括4个方面:

  (1)组件的大小和位置可以控制:通过组件提供的一组方法来设置,例如,setSize()设置大小,setLocation()确定位置;也可以放置组件的容器的布局管理器制指定。

  (2)组件的外形可以控制:setFont()设置字体、getFont()返回字体、setForeground()设置前景颜色、setBackGround()设置背景颜色。

  (3)基本绘图功能的支持:通过一系列方法支持基本绘图功能。例如:paint()用于在屏幕上绘制图形或输出文本内容。repaint()通过调用update()清除背景后,重新绘画或输出文本。

  (4)组件的状态可以控制:用于控制组件状态的方法有:setEnable()设置本组件是否可以改变状态。

  Panel、Window、Applet、Frame是四种常见的容器,Dialog(对话框)也是一种容器。用于防止AWT组件。

12.1.2 AWT的基本组件

  AWT的基本组件主要包括:

  (1)Button:最常规的组件,则需要实现相关的鼠标事件。

  (2)Checkbox:检查框,也称复选框,只有选中和未选中两种状态。

  (3)RadioButton:单选按钮,单选按钮的实现需要利用Checkbox和复选组CheckboxGroup两个类来完成。

  (4)Label:标签,是一种最简单的组件,用于输出文件信息。

  (5)Choice:选项框,又称为下拉列表框,系统可以提供许多选项。

  (6)List:列表框,可以让用户选择多个选项。

  (7)TextField:文本框,用于显示或接受用户键盘输入的单行文本信息,不能显示多行。

  (8)TextArea:文本区域,用于显示或接受用户键盘输入的多行文本信息,这些信息可以修改,行数可以设置。

  (9)Canvas:画布,也称为画板,是专门用来绘画的构件。

  (10)Dialog:对话框,是一种特殊的窗口,可以包括若干组件,其大小不可以改变,也不可以最小化。

12.2 创建图形界面容器

  容器(Container)和组件(Component)是AWT的核心内容,组件通常是GUI的可见部分。一个容器可以放多个组件,也可以放其他容器。容器是可以存放的区域。可以在容器上进行绘制和着色。java.awt包中的container类可以直接或间接派生出两个常用容器:框架(Frame)和面板(Panel)

12.2.1 Frame框架类

  框架Frame是Window类的子类,是一个带边框的独立窗口。独立于Applet和浏览器窗口。可以通过以下任一构造方法来创建:

  (1)Frame():创建一个没有标题的标准窗口。

  (2)Frame(String Title):创建一个含有标题的窗口,标题是由参数Title来指定的。

  PS:在显示的窗口中,“最大化”和“最小化“按钮均有效,但是“关闭”按钮无效,即窗口不能关闭,强行关闭Eclipse才能关闭此框架窗口,如果希望框架窗口能够利用“关闭”按钮正常关闭,需要先注册窗口监听器接口Window Listener 并实现对象的抽象方法WindowClosing。

12.2.2 Panel面板类

  是包含窗口的一个不带边框的区域,不是一个单独的窗口,只是包含在窗口中的一个区域,是可以将许多组件组合起来的一种容器。必须将面板添加到窗体中才能正常显示出来。面板的构造方法:

  (1)Panel():建立一个新面板,采用默认的布局管理器。

  (2)Panel(LayoutManager layout):建立一个新面板,采用指定的布局管理器。从构造方法可以看出,面板没有标题,它由布局管理器进行布局管理。

12.3 布局图形界面组件

  当组件很多时,窗口会显得非常凌乱,用户可以通过窗口的缩放进行手工调整,但是效果不是特别好,最好的方法是运行窗口布局管理器实现自动管理。

12.3.1 FlowLayout 顺序布局管理器

  组件逐个放置在容器的一行中,一行满后另起一行。

12.3.2 BorderLayout 边界布局管理器

  放置组件时,必须从这五种方向中选择其一以靠近窗口的边界。

12.3.3 GridLayout 网格布局管理器

  网格布局管理器用于将容器区域划分为一个矩形网格,其组件按照行和列排序。每个组件占一个网格。

习题

一、简答题

  1、什么是AWT?AWT的基本思想是什么?

  2、容器的主要作用有哪些?java中有哪些常用的容器?他们之间有什么异同?

  3、布局管理器的作用是什么?java提供了哪几种布局管理器?

  4、设计和实现图形用户界面的主要工作有哪些?

  5、简述Frame和Panel的异同。

  6、AWT的基本组件有哪些?一般有哪些功能?

  7、流式布局与网格布局有什么不同?

二、操作题

  1、编写代码,创建标题为“基本GUI编程”的窗口。

  2、编写代码,创建标题为“使用面板的基本GUI编程”的面板。

posted @   我太想努力了  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示