在昨天我們已經學過了程序的界面編程,但是僅僅有界面是不能對用戶輸入的數據進行驗證的,也就是說不能對用戶的交互作出響應。要實現對用戶的交互作出響應,就必須編寫代碼,在用戶事件發生時,執行代碼,處理事件。
Java事件驅動編程的步驟:
1.建立事件源。生成一個事件並觸發它的組件稱為事件源。例如,按鈕是按鈕點擊動作事件的事件源。一個事件是一個事件類的實例對象。一個事件對象包含了與該事件相關的屬性。
2.為事件源尋找合適的監聽器。事件源觸發事件以后,事件源本身是不能夠處理事件的,這就需要委托給相關對象來處理,不同的事件處理方式不一樣,所以就需要不同的對象來處理,這就是監聽器的作用,選擇合適的監聽器至關重要,關系到事件是否能被合理處理。
3.為監聽器添加適當的處理程序。選擇到了合適的監聽器后,並不是就好了,還需要我們自己根據事件添加適當的程序來處理事件。
4.建立監聽器與事件源的聯系。當一切都准備好了后,還有就是最后一步,我們要告訴事件處理方式在哪兒,將事件源與監聽器連接才能有效處理事件。
常用Java事件類、處理該事件的接口及接口中的方法:
事件類/接口名稱 |
接口方法及說明 |
ActionEvent動作事件類 ActionListener接口 |
actionPerformed(ActionEvent e) 單擊按鈕、選擇菜單項或在文本框中按回車時 |
AdjustmentEvent調整事件類 AdjustmentListener接口 |
adjustmentValueChanged(AdjustmentEvent e) 當改變滾動條滑塊位置時 |
ComponentEvent組件事件類 ComponentListener接口 |
componentMoved(ComponentEvent e)組件移動時 componentHidden(ComponentEvent e)組件隱藏時 componentResized(ComponentEvent e)組件縮放時 componentShown(ComponentEvent e)組件顯示時 |
ContainerEvent容器事件類 ContainerListener接口 |
componentAdded(ContainerEvent e)添加組件時 componentRemoved(ContainerEvent e) 移除組件時 |
FocusEvent焦點事件類 FocusListener接口 |
focusGained(FocusEvent e)組件獲得焦點時 focusLost(FocusEvent e)組件失去焦點時 |
ItemEvent選擇事件類 ItemListener接口 |
itemStateChanged(ItemEvent e) 選擇復選框、選項框、單擊列表框、選中帶復選框菜單時 |
KeyEvent鍵盤事件類 KeyListener接口 |
keyPressed(KeyEvent e)鍵按下時 keyReleased(KeyEvent e) 鍵釋放時 keyTyped(KeyEvent e)擊鍵時 |
MouseEvent鼠標事件類 MouseListener接口 |
mouseClicked(MouseEvent e) 單擊鼠標時 mouseEntered(MouseEvent e)鼠標進入時 mouseExited(MouseEvent e)鼠標離開時 mousePressed(MouseEvent e)鼠標鍵按下時 mouseReleased(MouseEvent e) 鼠標鍵釋放時 |
MouseEvent鼠標移動事件類 MouseMotionListener接口 |
mouseDragged(MouseEvent e)鼠標拖放時 mouseMoved(MouseEvent e)鼠標移動時 |
TextEvent文本事件類 TextListener接口 |
textValueChanged(TextEvent e) 文本框、多行文本框內容修改時 |
WindowEvent窗口事件類 WindowListener接口 |
windowOpened(WindowEvent e)窗口打開后 windowClosed(WindowEvent e)窗口關閉后 windowClosing(WindowEvent e)窗口關閉時 windowActivated(WindowEvent e)窗口激活時 windowDeactivated(WindowEvent e) 窗口失去焦點時 windowIconified(WindowEvent e)窗口最小化時 windowDeiconified(WindowEvent e) 最小化窗口還原時 |