事件处理机制分为三个重要概念:
事件:用户对组件的一个操作称之为一个事件。
事件源:发生事件的组件称之为事件源。
事件处理器:java类中负责处理事件的一个方法,也称之为监听器。
当然,这三个概念很简单,事件源发生事件时将事件传给监听器,监听器根据不同的事件给出不同的处理方案。
窗口监听:
WindowAdapter是一个接口,此接口有监听事件的各种方法。当你想调用该接口中的某一方法时,就使用WindowAdapter适配器
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class GuiDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建窗体
Frame f = new Frame();
f.setVisible(true);
// 设置窗体
f.setSize(300, 500);
// 创建窗口监听器
f.addWindowListener(new WindowAdapter() {
@Override
// 使用关闭窗口时的方法。
public void windowClosing(WindowEvent arg0) {
System.out.println("aaa");
// 关闭窗口
f.dispose();
}
});
}
}
鼠标监听:
import java.awt.Button;
import java.awt.Frame;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class GuiDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建窗体
Frame f = new Frame();
f.setVisible(true);
// 设置窗体
f.setSize(300, 500);
Button bu = new Button("oiasbdfug");
// 给鼠标上添加监听器
bu.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
System.out.println("鼠标单击了");
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
System.out.println("鼠标进入了");
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
System.out.println("鼠标移动了");
}
});
f.add(bu);
}
}
鼠标监听:
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class GuiDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 创建窗体
Frame f = new Frame();
f.setVisible(true);
// 设置窗体
f.setSize(300, 500);
TextField tx = new TextField(300);
// 给文本框上添加键盘监听
tx.addKeyListener(new KeyListener() {
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
char ch = e.getKeyChar();
int i = e.getKeyCode();
String s = e.getKeyText(i);
System.out.println(ch + "" + i + "" + s);
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
});
}
}