GUI

Java图形开发有两种可以使用的技术:AWT、Swing

· AWT:大量使用Windows的系统函数
· Swing:采用Java实现用户界面,可以在任意的系统平台上工作

AWT

AWT(Abstract Windowing Toolkit),抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。
AWT中的所有工具类都保存在java.awt包中,此包中的所有操作类可用来建立图形用户界面(GUI)的类,这些类又被称为组件(components)。
AWT包中提供的所有工具类,主要分为以下三种:
➢  组件:Component
➢  容器:Container
➢  布局管理器:LayoutManager

组件

➢  在图形界面中,用户经常会看到按钮、标签、菜单等组件。
➢  组件会在一个窗体上显示。
➢  在整个AWT包中,所有的组件类都是从Component和MenuComponet扩展而来的,这些类会继承这两个类的公共操作。

容器(Container)

➢  所有的AWT组件都应该放到容器之中。
➢  在容器中,所有的组件都可以设置在容器中的位置、大小等。
➢  所有的容器都是Component的子类。

布局管理器(LayoutManager)

➢  使用布局管理器可以使容器中的组件按照指定的位置进行摆放。即使容器改变了大小,布局管理器也可以准确的把组件放到指定的位置,这样就可以有效
的保证版面不会混乱。
➢  在AWT中所有的布局管理器都是LayoutManager的子类。

Swing简介

➢  AWT大量的引入了Windows函数, 称为重量级组件。
➢  Swing使 用Java语言实现,是以AWT平台为基础构建起来的新组件,属于轻量级的图形界面组件,直接使用Swing可以更加轻松的构建用户界面。

基本容器JFrame类的常用操作方法

➢ 使用JFrame类创建一个窗口

1public JFrame0 throws HeadlessException构造创建一个普通的窗体对象
2public JFrame (String title) throws He adlessException构造创建一个窗体对象,并指定标题
3public void setSize(int width, int height)普通设置窗体大小
4public void setSize(Dimension d)普通通过Dimension设置窗体大小
5public void setBackground(Color c)普通设置窗体的背景颜色
6public void setLocation(int x,int )普通设置组件的显示位置
7public void setLocation(Point p)普通通过Point来设置组件的显示位置
8public void setVisible(boolean b)普通显示或隐藏组件
9public Component add(Component comp)普通向容器中增加组件
10public void setLayout(LayoutManager mgr)普通设置布局管理器,如果设置为null表示不使用
11public void pack()普通调整窗口大小,以适合其子组件的首选大小和布局
12public Container getContentPane()普通返回此窗体的容器对象

Dimension类

➢  在JFrame中设置窗体的大小,也可以使用Dimension类完成。➢此类封装了组件的现实宽度和高度。

Point类

➢  组件的显示位置也可以使用Point类指定,此类封装的是显示位置的X、Y坐标。

组件JLabel类的常用方法和常量

1public static final int LEFT常量标签文本左对齐
2public static final int CENTER常量标签文本居中对齐
3public static final int RIGHT常量标签文本右对齐
4public JLabelO throws HeadlessException构造创建一个ILabeI对象
5public JLabel(String text) throws HeadlessException构造创建一个标签并指定文本内容,默认为左对齐
6public Label(String text,int alignment) throws HeadlessException构造创建一个标签并指定文本内容以及对齐方式,可以使用JLabel. LEFT. JLabel RIGHT、JLabe1.CENTER三个值
7public JLabel(String text,Icon icon, int horizontalAlignment)构造创建具有指定文本、图像和水平对齐方式的JLabeI对象
8public JLabel(Icon image,int horizontalAlignment)构造创建具有指定图像和水平对齐方式的JLabel实例
9public void setText(String text)普通设置标签的文本
10public String getText()普通取得标签的文本
11public void setAlignment(int alignment)普通设置标签的对齐方式
12public void setIcon(Icon icon)普通设置指定的图象

JButton组件

JButton组件表示一个普通的按钮,直接使用此类就可以在窗体中增加一个按钮。

布局管理器

·  使用布局管理器可以管理组件的显示位置,每当需要重新调整屏幕大小或重新绘制屏幕上任一项目时,都要用到布局管理器。
·  在Swing中使用的所有布局管理器都实现LayoutManager接口,在Swing中主要使用以下五种常见的布局管理器:
   ➢  FlowLayout
   ➢  BorderIayout
   ➢  GridIayout
   ➢  Cardlayout
   ➢  绝对定位。

FlowLayout

FlowLayout属于流式布局管理器,使用此种布局方式,所有的组件会像流水一样一次进行排列。

BorderLayout

BorderI ayout将一个窗体的版面划分成东、西、南、北、中五个区域,可以直接将需要的组件放到这五个区域中即可。

GridLayout

➢  GridIayout布局管理器是以表格的形式进行管理的
➢  在使用此布局管理器的时候必须设置显示的行数和列数

CardLayout

➢  CardLayout就是将一组组彼此重叠的组件进行布局,就像一张张卡片一样,这样每次只会展现一个界面

绝对定位

如果不在窗体中指定布局管理器,也可以通过设置绝对坐标的方式完成布局设置。
public void setBounds(int x,int y,int width,int height)
01-09 18:59