java - 在 switch 语句中使用 ctrl-z 撤消的非弃用方法
问题描述
我需要在 switch 中使用 ctrl-z 使我的撤消案例工作,但我尝试过的所有方法都已弃用或不起作用
switch (event.getActionCommand()) {
case "Undo":
try {
// undo method
} catch(Exception e){
// exception msg
}
break;
case "Redo":
try{
// redo method
} catch(Exception e){
// exception msg
}
break;
}
目前,这些可以通过 jmenu 项目访问,但我希望通过 control z 也可以使用 under 方法,撤消和重做的内容在 jframe 内。
不要误会我的意思,它们是否通过对应的 jmenu 正常运行,我只是无法让它们通过按键 (ctrl+z) 工作
解决方案
我只是无法让他们通过按键 (ctrl+z) 工作
您需要向菜单项添加“加速器”。
undoMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, ActionEvent.CTRL_MASK));
阅读 Swing 教程中有关启用键盘操作的部分以获取更多信息。