在开关语句中使用ctrl-z撤消的非弃用方法

时间:2019-05-22 10:02:31

标签: java swing switch-statement awt

我需要在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项访问这些内容,但是我希望通过控件z也可以使用under方法,撤消和重做的内容位于jframe中。

不要误会我的意思,它们是否可以通过jmenu同行正常运行,我只是无法通过按键(ctrl + z)来使它们工作

1 个答案:

答案 0 :(得分:1)

  

我只是无法通过按键(ctrl + z)使它们起作用

您需要在菜单项中添加“加速器”。

undoMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, ActionEvent.CTRL_MASK));

阅读Enabling Keyboard Operation的Swing教程中的部分,以获得更多信息。