事件處理機制分為三個重要概念:
事件:用戶對組件的一個操作稱之為一個事件。
事件源:發生事件的組件稱之為事件源。
事件處理器: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
}
});
}
}