一 事件
一个事件代表了对应用有意义的事情的出现,如移动鼠标、敲击键盘等。在JavaFX中,一个事件是javafx.event.Event类的实例,或是任意的event子类。JavaFX提供了好几种事件,包括DragEvent、KeyEvent、MouseEvent、ScrollEvent以及其他。也可扩展Event类来定义自己的事件。
二 分类
- 前台事件:直接与用户进行交互的事件。如:从键盘输入、鼠标点击、按钮点击等。
- 后台事件:系统中断、硬件软件的错误、超时、失效等
三 键盘监听事件实例
- 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 {
//创建显示纯文本区域JTextArea
private JTextAreatext =new JTextArea();
public KeyBoard() {
super.setTitle("键盘监听");
//带滚动条的面板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);
//添加一个窗口监听
super.addWindowListener(new WindowAdapter() {
////这是窗口关闭事件
public void windowClosing(WindowEvent arg0) {
System.exit(1);
}
});
}
@Override
public void keyTyped(KeyEvent e) {
text.append("输入的内容是:" + 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();
}
}