當在JTable
(稱爲gametable
)中輸入時,此代碼調用例程。它工作的很好,但我想同樣Action
被調用時,在JTable
上移或下移,而不需要按輸入;我無法讓它工作。我嘗試用VK_UP
代替VK_ENTER
,但我無法在桌面上下移動?在JTable中按下向上或向下時調用例程
KeyStroke enter = KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ENTER, 0);
gameTable.getJTable().unregisterKeyboardAction(enter);
gameTable.getJTable().registerKeyboardAction(new ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
synchronized (this) {
gotoGame(gameTable.getSelectedIndex());
}
}
}, enter, JComponent.WHEN_FOCUSED);
我弄不明白。有人能幫我嗎?
'KeyListener'本質上不是_wrong_,但問題似乎涉及鍵綁定。 – trashgod 2012-08-11 18:45:29
也許我誤解了這個問題。從功能上來說,這聽起來像我在做我的程序。我也有一些快捷鍵和複製/粘貼的鍵綁定,但這是一種不同類型的功能。 – Logan 2012-08-11 18:57:29
'KeyListener'因「丟失」鍵而臭名昭着。如果在事件處理鏈中「KeyEvent」被消耗得更高,那麼'KeyEvent'很可能不會對你產生影響。 KeyBindings更可靠。恕我直言 – MadProgrammer 2012-08-11 21:21:53