事件名稱 敘述 ActionEvent 處理按鈕被按下的事件 AdjustmentEvent 處理捲軸滾動的事件 ItemEvent 處理選項選取或取消選取相關事件 KeyAdapter 已實作 KeyListener 介面的類別 KeyEvent 處理鍵盤按鍵相關事件 MouseAdapter 已實作 MouseListener 、 MouseMotionListener 、 MouseWheelListener 等介面的類別 MouseEvent 處理滑鼠相關事件 MouseMotionAdapter 已實作 MouseMotionListener 介面的類別 MouseWheelEvent 處理滑鼠捲軸相關事件 TextEvent 處理文字輸入相關事件 WindowAdapter 已實作 WindowFocusListener 、 WindowListener 、 WindowStateListener 等介面的類別 WindowEvent 處理視窗相關事件
另外有以下的傾聽者介面
介面名稱 敘述 ActionListener 進行按鈕事件的處理 AdjustmentListener 進行捲軸事件的處理 ItemListener 進行選項事件的處理 KeyListener 進行鍵盤事件的處理 MouseListener 進行滑鼠事件的處理 MouseMotionListener 進行滑鼠移動事件的處理 MouseWheelListener 進行滑鼠滾輪事件的處理 TextListener 進行文字輸入事件的處理 WindowFocusListener 進行視窗焦點事件的處理 WindowListener 進行視窗事件的處理 WindowStateListener 進行視窗狀態事件的處理
GUI 是由傾聽者介面來偵測使用者的操作,任何動作稱之為事件,藉由實作傾聽者介面的方法來設置相關事件處理。舉例如下
import java.awt.*; import java.awt.event.*; public class MouseMotionAdapterDemo extends MouseMotionAdapter { Frame frame; Panel panel; Label text; public static void main(String[] args) { new MouseMotionAdapterDemo(); } public MouseMotionAdapterDemo() { frame = new Frame("AWTDemo"); frame.addWindowListener(new AdapterDemo()); frame.setSize(600, 400); panel = new Panel(); panel.addMouseMotionListener(this); text = new Label("something happened.."); panel.add(text); frame.add(panel, BorderLayout.CENTER); frame.setVisible(true); } // from MouseMotionListener public void mouseDragged(MouseEvent e) { text.setText("x: " + e.getX() + ", y: " + e.getY()); System.out.println("mouseDragged"); } public void mouseMoved(MouseEvent e) { text.setText("x: " + e.getX() + ", y: " + e.getY()); System.out.println("mouseMoved"); } } class AdapterDemo extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:MouseMotionAdapterDemo.java 功能:示範 Java 程式 作者:張凱慶 時間:西元 2012 年 3 月 */
此例的 MouseMotionAdapterDemo 直接繼承自 MouseMotionAdapter 類別
public class MouseMotionAdapterDemo extends MouseMotionAdapter {
MouseMotionListener 的 mouseDragged() 處理滑鼠拖曳的動作,所謂拖曳是指按住滑鼠按鈕然後同時移動滑鼠, mouseMoved() 則為處理滑鼠移動的動作
// from MouseMotionListener public void mouseDragged(MouseEvent e) { text.setText("x: " + e.getX() + ", y: " + e.getY()); System.out.println("mouseDragged"); } public void mouseMoved(MouseEvent e) { text.setText("x: " + e.getX() + ", y: " + e.getY()); System.out.println("mouseMoved"); }
編譯後執行,結果如下
中英文術語對照 | |
---|---|
類別 | class |
方法 | method |
事件處理 | event handle |
您可以繼續參考
事件處理
相關目錄
Java API 分類導覽
Java 教材
首頁
參考資料
http://docs.oracle.com/javase/tutorial/uiswing/events/index.html
沒有留言:
張貼留言