少点以为,多点作为。
班级:计科1712
学号:02210171236
姓名:姚聪颖
1.什么是Java图形用户界面
图形用户界面是用户与程序交互的窗口,Java程序一般都需要设计、建立自己的用户界面并利用它接受用户的输入,向用户显示运行结果。
在Java语言中,为了方便图形用户界面的开发,设计了专门的类库来生成各种标准图形元素和处理各种事件,这个类库就是Java.awt包。
Eclipse下载
[1]. Eclipse下载
2.新建一个Java的GUI应用程序的步骤
(1)进入Eclipse环境
- 先进入Eclipse环境;
(2).建立一个新工程
- 点击菜单 “File” —> “new project…”,在弹出的窗口中选择指定的目录中建立一个新工程;
(3)新建一个Other应用程序
- 点击菜单 “File” —> “new…”,在弹出的窗口中选择新建一个 Other应用程序;
(4)选择JFrame
- 在向导窗口中,点开文件夹 “WindowBuilder”,点开文件夹 “Swing Designer”,在选项中,选择 “JFrame”,点击 “Next” 按钮;
(5).创建继承于JFrame的子类名字
- 在打开的窗口中,填入自己创建继承于 JFrame的子类名字,比如“MyJFrame”,然后点击 “Finish” 按钮;
- 得到如下可视化编程的初始 Design视图:
(6)MyJFrame类的程序代码结构
- 点击MyJFrame类视图下面的 “source”标签,可以切换到代码视图,研究 MyJFrame类的程序代码结构。
3.GridLayout布局管理器
(1)简介
- GridLayout以矩形网格形式对容器的组件进行布置,他将容器空间划分成若干行乘若干列的网格,组件一次放入其中,每个组件占据一格。
(2)GridLayout中的常用构造方法
| 构造方法 | 说明 |
|---|---|
| GridLayout() | 创建具有默认值的网格布局,即每个组件占据一行一列 |
| GridLayout(int rows, int clos) | 创建具有指定行数和列数的网格布局 |
| GridLayout(int rows, int cols, int hgap, int vgap) | 创建具有指定行数和列数的网格布局。水平和垂直间距设置为指定值 |
(3)进行GridLayout布局观察
- 建立 “TestGridJFrame.java” 文件,进行GridLayout布局观察:在设计视图Design中,点击左边 “Palette” 窗口中的 “Layouts” 文件夹的选项,更换一个新的 GridLayout布局管理器。
- 用鼠标从Swing中选择按钮组件,添加到框架的主界面,运行应用程序,创建如下图所示界面。
4.BorderLayout布局管理器
(1)简介
- JFrame、JDialog和JWindows类的默认布局管理器是BorderLayout。BorderLayout把容器内的空间简单的划分为东(EAST)、西(WEST)、南(SOUTH)、北(NORTH)、中(CENTER)五个区域,每加入一个组件都应该指明把这个组件加在哪个区域中。
(2)进行BorderLayout布局观察
- 建立TestBorderJFrame.java文件,进行BorderLayout布局观察:步骤同上,点击左边Palette窗口中Layouts文件夹的BorderLayout选项,拖放到右侧的窗体编辑区中,一个新的BorderLayout布局管理器就为窗体设置好了。然后,用鼠标从Swing中依次选择JButton按钮组件,添加到框架的主界面,运行此GUI应用程序,创建如下图所示界面。
5.FlowLayout布局管理器
(1)简介
- 面板JPanel类的默认布局管理器是FlowLayout。FlowLayout布局默认对齐方式为居中对齐。也可以在构造对象的时候指定对齐方式。
(2)FlowLayout中的常用构造方法
| 构造器 | 说明 |
|---|---|
| FlowLayout(int align,int hgap, int vgap) | 右对齐,组件之间水平间距20个像素,竖直间距40个像素 |
| FlowLayout(FlowLayout.LEFT) | 左对齐,水平和竖直间距为默认值(5个像素) |
| FlowLayout() | 使用默认的居中对齐方式,水平和竖直间距为默认值(5个像素) |
(3)设计FlowLayout布局管理器
- 建立TestFlowFrame.java文件,设计FlowLayout布局管理器,用鼠标从Swing中选择按钮组件,添加到框架的主界面,运行应用程序,创建如下图所示界面。
- 初始界面:
- 增大窗口宽度后的界面:
- 初始界面: