我在对话框中处理了keyPress事件(比如,当key是VK_V6时,我就做一些事情),
但是发现如果焦点不在对话框本身,而是在对话框的某个控件上的时候,
就收不到keypress事件。我想问在java里面,怎样做到让对话框总能收到keypress事件呢?
不论焦点在对话框本身,还是在它的子控件上?
我知道在windows里面,在对话框的PretranslateMessage()里面可以去捕获这个事件,
但是不知道java里面该怎么做?谢谢指点!
但是发现如果焦点不在对话框本身,而是在对话框的某个控件上的时候,
就收不到keypress事件。我想问在java里面,怎样做到让对话框总能收到keypress事件呢?
不论焦点在对话框本身,还是在它的子控件上?
我知道在windows里面,在对话框的PretranslateMessage()里面可以去捕获这个事件,
但是不知道java里面该怎么做?谢谢指点!
KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
Window win = manager.getFocusedWindow();
Window active = manager.getActiveWindow();
active.addKeyListener(new KeyAdapter() {
public void keyTyped(final KeyEvent e) {
System.out.println(e.getKeyChar());
}
public void keyPressed(final KeyEvent e) {
System.out.println("pressed");
}
});