Нерекомендуемый метод использования 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, но я хотел бы, чтобы метод under также был доступен через элемент управления z, содержимое, которое отменено и переделано, находится внутри jframe.

Не поймите меня неправильно, они правильно работают через свои аналоги jmenu, я просто не могу заставить их работать с помощью нажатий клавиш (ctrl+z)

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

I just cannot get them to work through key presses (ctrl+z)

Вам нужно добавить «ускоритель» в пункт меню.

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

Прочтите раздел руководства Swing по Включение работы с клавиатурой для получения дополнительной информации.

еще не сталкивался с ускорителем, но пробовал другие подобные методы. Спасибо! Разве вы не знаете, как предотвратить повтор, если действие случайно выполняется после отмены?

Anan 22.05.2019 16:19

Прочтите Свинг Учебник. На Text Component Features есть раздел с полным примером использования отмены/повтора.

camickr 22.05.2019 16:46

просто интересно, сделал для него свою штучку, функциональную, но наверное могло быть и лучше

Anan 22.05.2019 16:51

Другие вопросы по теме