Java GUI程序设计入门
实际应用里许多界面都属于 GUI。比如点击 QQ 图标会弹出登录对话框,这个图标所代表的交互方式就是图形化用户界面。转至:Java GUI程序设计的初步上。
一、命令行与图形界面
用户界面分两类。命令行用户接口(Command Line User Interface)就是常见的 DOS 操作:需要记忆命令,操作不直观,例如创建或删除文件夹。图形用户界面(GUI)以图形化方式与用户交互,例如 Microsoft Windows、Word,更友好、更丰富,是当前应用程序设计的主流。
GUI 中,组件(Component)是基本组成元素:凡能以图形化方式显示在屏幕上并能与用户交互的对象都是组件。JDK 的 java.awt 包定义了 Window、Menu、Button、Label、TextField、Scrollbar 等组件类。
| 类型 | 说明 |
|---|---|
| Container | 继承 Component,本身也是组件;控制组件必须放进容器才能显示 |
| Window | 无边框菜单栏的顶层容器,一般用子类 Frame |
| Panel | 最简单常用的容器,不能独立存在,必须加入其他容器 |
二、第一个 Frame 与 Panel
示例 1:第一个 GUI 应用程序。Frame 默认几乎只容纳标题栏和按钮,要用 setSize;默认不可见,要用 setVisible(true);组件位置由布局管理器决定。
示例 2:容器 Panel。取消 Frame 默认布局后,可人工设置 panel 的尺寸和位置。setSize 设宽高,setLocation 设左上角坐标,单位都是像素。每个 GUI 容器都有自己的坐标系。
三、布局管理器
容器对其中组件的排列方式(位置和大小)称为布局(Layout)。每个容器创建时都会带一个默认布局管理器,也可以随时换成新的:
FlowLayout
流式布局,是 Panel 及其子类的默认布局。组件按加入次序逐行定位,行内从左到右,一行排满后换行,按原始大小显示。对齐可用 LEFT、RIGHT、CENTER。
容器尺寸被重置时,组件位置会跟着调整,但尺寸维持不变:

BorderLayout
边界布局,是 Window 及其子类的默认布局。把容器分成 East、West、South、North、Center 五个区域,每个区域只能加一个组件,后加的会替换先前的。组件尺寸被强制成所在区域大小。
容器尺寸变化时,相对位置不变:北、南只能水平缩放,东、西只能垂直缩放,中部两个方向都可缩放。
一句话总结:组件必须放进容器;Frame 用 BorderLayout,Panel 用 FlowLayout;setVisible(true) 之后窗口才出现。
转载请注明来源:Java GUI程序设计入门








