教育路上
摘要:java AWT 事件處理,事件處理機制專門用于響應用戶的操作,事件對象事件源,監聽器。以下是我們為大家整理的,相信大家閱讀完后肯定有了自己的選擇吧。
2022-12-02 16:13網絡推薦
11-1 實現了一個圖形化窗口,點擊窗口右上角的關閉按鈕會發現窗口無法關閉,這說明
該按鈕的點擊功能沒有實現。按理說 Frame 對象應該實現這個按鈕的功能,之所以沒有實現是
因為 Frame 的設計者無法確定用戶關閉 Frame 窗口的方式,例如,是直接關閉窗口還是需要彈
出對話框詢問用戶是否關閉。如果想要關閉窗口,就需要通過事件處理機制對窗口進行監聽。
事件處理機制專門用于響應用戶的操作,比如,想要響應用戶的點擊鼠標、按下鍵盤等操
作,就需要使用 AWT 的事件處理機制。在學習如何使用 AWT 事件處理機制之前,首先向大家
介紹幾個比較重要的概念。
事件對象(Event):封裝了 GUI 組件上發生的特定事件(通常就是用戶的一次操作)。
事件源(組件):事件發生的場所,通常就是產生事件的組件。
監聽器(Listener):負責監聽事件源上發生的事件,并對各種事件作出相應處理的對象(對象
中包含事件處理器)。
事件處理器: 監聽器對象對接收的事件對象進行相應處理的方法。
上面提到的事件對象、事件源、監聽器、事件處理器在整個事件處理機制中都起著非常重
要的作用,它們彼此之間有著非常緊密的聯系,接下來用一個圖例來描述事件處理的工作流程,
如圖 11-6 所示。
圖 11-6 事件處理流程圖
例 11-2 Example02.java
import java.awt.*;
import java.awt.event.*;
public class Example02 {
public static void main(String[] args) {
// 建立新窗體
Frame f = new Frame("我的窗體!");
// 設置窗體的寬和高
f.setSize(400, 300);
// 設置窗體的出現的位置
f.setLocation(300, 200);
// 設置窗體可見
f.setVisible(true);
// 為窗口組件注冊監聽器
MyWindowListener mw=new MyWindowListener();
f.addWindowListener(mw);
}
}
// 創建 MyWindowListener 類實現 WindowListener 接口
class MyWindowListener implements WindowListener {
// 監聽器監聽事件對象作出處理
public void windowClosing(WindowEvent e) {
Window window = e.getWindow();
window.setVisible(false);
// 釋放窗口
window.dispose();
}
public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
}
編譯運行程序,生成的窗口如圖 11-7 所示。
例 11-2 中為窗口添加了關閉功能。首先創建了一個實現 WindowListener 接口的事件監聽
器類 MyWindowListener,當通過 addWindowListener( )方法將窗口與監聽器對象綁定后,如果點擊
窗口右上角的關閉按鈕,便會觸發監聽器對象的 windowClosing()方法,將當前窗口隱藏并且釋放,
從而關閉了窗口。
圖 11-7 例 11-2 運行結果
訪客的評論 2024/09/19 04:33
文中描述的是準確的嗎,如何報名!