一 事件
一個事件代表了對應(yīng)用有意義的事情的出現(xiàn),如移動鼠標(biāo)、敲擊鍵盤等。在JavaFX中,一個事件是javafx.event.Event類的實例,或是任意的event子類。JavaFX提供了好幾種事件,包括DragEvent、KeyEvent、MouseEvent、ScrollEvent以及其他。也可擴展Event類來定義自己的事件。
二 分類
- 前臺事件:直接與用戶進(jìn)行交互的事件。如:從鍵盤輸入、鼠標(biāo)點擊、按鈕點擊等。
- 后臺事件:系統(tǒng)中斷、硬件軟件的錯誤、超時、失效等
三 鍵盤監(jiān)聽事件實例
- controller
package com.soft1841.book.controller;
import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class KeyBoardextends JFrameimplements KeyListener {
//創(chuàng)建顯示純文本區(qū)域JTextArea
? ? private JTextAreatext =new JTextArea();
public KeyBoard() {
super.setTitle("鍵盤監(jiān)聽");
//帶滾動條的面板JScrollPane
? ? ? ? JScrollPane scr =new JScrollPane(text);
scr.setBounds(10,10,300,200);
super.add(scr);
text.addKeyListener(this);
super.setSize(500,500);
super.setVisible(true);
//添加一個窗口監(jiān)聽
? ? ? ? super.addWindowListener(new WindowAdapter() {
////這是窗口關(guān)閉事件
? ? ? ? ? ? public void windowClosing(WindowEvent arg0) {
System.exit(1);
}
});
}
@Override
? ? public void keyTyped(KeyEvent e) {
text.append("輸入的內(nèi)容是:" + e.getKeyChar() +"\n");
}
@Override
? ? public void keyPressed(KeyEvent e) {
text.append("鍵盤“" + KeyEvent.getKeyText(e.getKeyCode()) +"”鍵按下\n");
}
@Override
? ? public void keyReleased(KeyEvent e) {
text.append("鍵盤“" + KeyEvent.getKeyText(e.getKeyCode()) +"”鍵松開\n");
}
}
public class KeyBoardDemo {
public static void main(String[] args) {
new KeyBoard();
}
}
- 運行結(jié)果
