我在scala程序中使用了swing鍵綁定。我試圖捕獲JPanel中的鍵入。出於某種原因,我無法重新映射輸入密鑰。換入工作和其他按鍵也起作用。進入什麼是特別的?以下是我的JPanel的代碼片段:無法重新映射「輸入」的Swing鍵綁定
val ADD_SIBLING_TO_SELECTED = "add-sibling-to-selected"
val enter = KeyStroke.getKeyStroke("shift ENTER")//todo: figure out why plain enter does not work
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).remove(enter)
getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(enter, ADD_SIBLING_TO_SELECTED)
import java.awt.event.ActionEvent
getActionMap().put(ADD_SIBLING_TO_SELECTED, new AbstractAction {
override def actionPerformed(e: ActionEvent){
println(ADD_SIBLING_TO_SELECTED)
}
})
oops,「shift ENTER」是有效的。如果我刪除了「輪班」,行動將不會觸發。 – kcwill2 2011-04-04 05:25:59