GUI基本概念
java提供对GUI进行操作的包
java.Awt//依赖于平台,重量级控件
javax.Swing//基于Awt,由java实现,轻量级控件
Component下有web组件,和container组件,container组件较为特殊,可add组件
布局//即组件的排列方式
常见布局管理器:
FlowLayout(流式)
//从左到右,Panel默认
BorderLayout(边界)
//东南西北中,Frame默认
GirdLayout(网格)
//规则矩形
CardLayout(卡片)
//选项卡
GirdBagLayout(网格包)
坐标式布局
创建一个图形化界面
1,创建一个Frame窗体,对其进行设置
Frame f = new Frame();
f.setSize(300, 200);//设置x.y
f.setLocation(200, 200);//设置出现时,x,y
f.setLayout(new FlowLayout());//设置页面布局,若不设置,则默认为BoredLayout
2,定义组件,且添加
Button b = new Button("我是一个按钮");
f.add(b);
3,让窗体显示
f.setVisible(true);
事件监听机制特点
1,事件源//awt或swing包中的图形化界面组件
2,事件//每一个事件源都有自己特有的对应事件和共性事件
3,监听器//将可以触发某一个事件的动作封装到监听器中
4,事件处理//我们需要做的
窗体事件
//当需要给窗体添加一个监听器时,应用addWindowListener()方法接收一个windowListener接口,因为覆写7个方法太麻烦
//我们可用其接口子类windowAdapter,以实现7个空事件,只需要覆写需要的方法
//如匿名内部类写法
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
System.out.println("我关");
System.exit(0);
}
});
public void windowClosing(WindowEvent e)
{
System.out.println("我关");
System.exit(0);
}
});
Action事件
//当发生活动时应当发生的事件
/*让按钮具备退出程序的功能
*
* 按钮:事件源
* 选择什么监听器?
* 去看组件对象的功能
*
* 按钮:事件源
* 选择什么监听器?
* 去看组件对象的功能
//发现有 addActionListener()方法,该方法接受一个接口,ActionListener因为其中只有一个方法,所以不需要适配器
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println("退出,按钮干的");
System.exit(0);
}
});