JFrame:屏幕上windows的对象
Swing 的三个基本构造块:标签、按钮和文本字段
JFrame 类就是解决这个问题的——它是一个容器,允许程序员把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。
Java 事件模型基础:监听器、事件、事件源、事件注册
事件:描述发生了什么的对象
事件源:事件的产生器
事件处理器:接收事件、解释事件并处理用户交互的方法
比如在Button组件上点击鼠标会产生以这个Button为源的一个ActionEvent,这个ActionEvent实例是一个对象,它包含关于刚才发生的那个事件的信息,这些信息包括:
getActionCommand():返回与动作相关联的命令名称。
getWhen():返回事件发生的时间。
如果用户在用户界面层执行了一个动作(鼠标点击和按键),这将导致一个事件的发生。
package demo18AwtWindow;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class TestButton {
public static void main(String[] args) {
Frame frame = new Frame("测试按钮");
Button button = new Button("按我");
//增添事件处理器
button.addActionListener(new ButtonHandler());
//将按钮放到Frame中去
frame.add(button, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
class ButtonHandler implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("按钮被按了!");
String label = e.getActionCommand();
System.out.println(label);
}
}