我有一段代碼,它允許我捕獲擊鍵並用System.out.println打印它們。我的問題是,當我嘗試使用CTRL(例如CTRL + 米)使用它,它消除了米鍵作爲keyChar屬性。有誰知道爲什麼會發生這種情況,我該如何解決它?按鍵捕捉。 ctrl使KeyChar屬性爲空
public TestForm() {
initComponents();
KeyEventDispatcher keyEventDispatcher = new KeyEventDispatcher() {
@Override
public boolean dispatchKeyEvent(final KeyEvent e)
{
if (e.getID() == KeyEvent.KEY_PRESSED && e.isAltDown())
{
System.out.println("ALT + "+e.getKeyChar());
}
else if (e.getID() == KeyEvent.KEY_PRESSED && e.isShiftDown())
{
System.out.println("SHIFT + "+e.getKeyChar());
}
else if (e.getID() == KeyEvent.KEY_PRESSED && e.isControlDown())
{
System.out.println("CTRL + "+e.getKeyChar()/*+"\n"+e*/);
}
else
{
System.out.println(e);
}
return true;
}
};
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(keyEventDispatcher)
;
}
我對Java很新,所以它可能是一些簡單的問題。在此先感謝