一、界面设计
两类GUI部件
容器部件—— 窗体、面板
其他部件—— 文本框、标签等
Test类继续Frame类,编写构造方法
在构造方法中编写窗体属性;
在主函数中用new 调用Test类;
创建GUI部件,利用new 创建按钮
Frame类中,默认为BorderLayout布局(东南西北中)//add("South",btn1);//南边
布局设置,setLayout(new FlowLayout( ));
容器中加入部件,采用add方法;
改变字体大小
Font f = new Font("宋体",Font.BOLD,28);
btn1.setFont(f);
二、事件处理(委托事件处理)
事件源——发生事件的对象
事件处理——委托事件处理模型
事件监听者——负责处理事件
btn.addAcitonListener(ActionListener a);//注册监听对象
谁做为监听者更适合?
1.容器自身
btn1.addActionListener(this);
2.内嵌类
public class Test extends Frame{
public Test(){//构造方法
……
Button btn2 = new Button("关闭");//创建按钮
btn2.addActionListener(new Process());//用内嵌类监听按钮
……
}
class Process implements ActionListener{//内嵌类实现监听
public void actionPerformed(ActionEvent e){
dispose();
}
}
}
3.匿名内嵌类
public class Test extends Frame{
public Test(){//构造方法
……
Button btn2 = new Button("关闭");//创建按钮
btn2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
}
});//用内嵌类监听按钮
}