我在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