------- android培训、java培训、期待与您交流! ----------
GUI:
1、图形用户界面
2、java提供了两个包供我们使用
A:java.awt 重量级
B:javax.swing 轻量级
3、布局管理器:FlowLayout----流式布局:从左到右,从上到下
BorderLayout----边界布局:东南西北中
GridLayout----网格布局:规则的矩阵
GridBagLayout----网格包布局:不规则的矩阵
CardLayout----卡片布局
4、事件监听机制
A:事件源
就是发生事件的组件对象
B:事件
就是发生的事情
C:事件监听
把事件注册到事件源上
D:事件处理
就是针对发生事情的处理
5、案例
使用匿名内部类实现。
A:对窗体添加关闭事件
B:对窗体上的按钮添加事件
6、实例A:
(1)创建窗体:Frame(不可见)
(2)设置窗体可见:SetVisible(boolean flag)
(3)设置窗体尺寸:SetSize(int width,int height)
(4)设置窗体位置:SetLocation(int x,int y)
(5)设置窗体标题:SetTitle(String Title)
(6)像素:屏幕的分辨率
代码体现:
public class FrameDemo {
public static void main(String[] args) {
// 创建窗体
// 构造一个最初不可见的 Frame 新实例
Frame f = new Frame();
// Frame f = new Frame("我的第一个窗体");
// 设置窗体标题
f.setTitle("我的第一个窗体");
// 设置窗体的大小
f.setSize(400, 300);
// 设置位置
f.setLocation(400, 200);
// 设置窗体可见
f.setVisible(true);
}
}
实例B:
(1)给窗体添加按钮
(2)创建按钮对象:Button(String label)
(3)按钮添加到窗体:f.add(bu)
(4)将按钮布局:f.SetLayout(new FlowLayout())
代码体现:
public class FrameDemo2 {
public static void main(String[] args) {
// 创建窗体对象
Frame f = new Frame("添加按钮");
// 设置窗体属性
f.setSize(400, 300);
f.setLocation(400, 200);
// 修改布局方式
f.setLayout(new FlowLayout());
// 创建按钮对象
Button bu = new Button("确认");
// 把按钮添加到窗体上
f.add(bu);
// 设置窗体可见
f.setVisible(true);
}
}
实例C:
关闭窗口:给窗口添加关闭事件
事件监听接口里面的方法有很多,而我们使用的就只有一个,
这个时候,如果把每个方法都写进去太麻烦了。
这个时候,我们想到一种方案:
interface WindowListener
{
//7个方法
}
我们提供一个类:
class MyWindowListener implements WindowListener
{
//实现7个方法,不过方法体都是空的。
}
将来我们使用的时候,怎么办?就可以只实现我们需要的那一个方法即可。
class MyWindowListenerImpl extedns MyWindowListener
{
windowClosing(){}
}
适配器模式。
举例:电源适配器,插座适配器
public class FrameDemo3 {
public static void main(String[] args) {
// 创建事件源
Frame f = new Frame();
// 设置窗体
f.setTitle("关闭窗口");
f.setSize(400, 300);
f.setLocation(400, 200);
// 注册事件
// 自己写一个监听对象实现监听接口
// f.addWindowListener(new MyWindowListener());
f.addWindowListener(new MyWindowListener2());
// 设置窗体可见
f.setVisible(true);
}
}