GUI(图形化界面)
JAVA为GUI提供的对象都存在java.Awt和java.Swing的两个包中。
这里主要说Awt包中的内容。
Awt包
java.Awt包中提供了两种基类表示图形界面元素:Component和MenuComponent。
前者代表一个能以图形化方式显示出来并与用户交互的对象。例如Button代表一个按钮。TextField代表一个文本框等。
后者则代表图形界面的菜单组件,包括MenuBar(菜单条),MenuItem(菜单项)等子类。
下面是Component的继承关系图:
注:Container为容器,是一个特殊组件,该组件中可以通过add方法添加其他组件进来。
布局管理器
容器中的排放方式就是布局。
常见的布局管理器:
FlowLayout(流式布局管理器)
从左到右的顺序排列,Panel默认的布局管理器。
BorderLayout(边界布局管理器)
东南西北中,Frame默认的布局管理器。
GridLayout(网格式布局管理器)
规则的矩阵
CardLayout(卡片式布局管理器)
选项卡
GridBagLayout(网格包布局管理器)
非规则的矩阵
创建图形化界面的流程
1,创建frame窗体。
2,对窗体进行基本设置。
比如大小——setSize(横,高);位置——setLocation(x,y);
2,对窗体进行基本设置。
比如大小——setSize(横,高);位置——setLocation(x,y);
大小与位置——setBounds(x,y,横,高);流式布局——setLayout(new FlowLayout())。
3,定义组件。
4,将组件通过窗体的add方法添加到窗体中。
5,让窗体显示,通过setVisible(true)
3,定义组件。
4,将组件通过窗体的add方法添加到窗体中。
5,让窗体显示,通过setVisible(true)
注:以上仅仅把窗体界面做出来,并没有实现功能。
例:
/*
简单的实现图形化界面
Frame 是带有标题和边框的顶层窗口。
*/
import java.awt.*;
class AwtDemo
{
public static void main(String[] args)
{
//创建一个Frame窗口
Frame f=new Frame("测试窗口");
//设置窗口界面
f.setBounds(500,400,500,300);
f.setLayout(new FlowLayout());
f.add(new Button("关闭"));
//让窗口显示
f.setVisible(true);
}
}
事件处理
在awt编程中,所有事件必须由特定对象(事件监听器)来处理。即在各个组件上加上事件处理机制。
类似在门上装上监听器,监听一些动作,如:砸ÿ