Мне нужно, чтобы мой случай отмены в переключателе работал с 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)
I just cannot get them to work through key presses (ctrl+z)
Вам нужно добавить «ускоритель» в пункт меню.
undoMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, ActionEvent.CTRL_MASK));
Прочтите раздел руководства Swing по Включение работы с клавиатурой для получения дополнительной информации.
Прочтите Свинг Учебник. На Text Component Features
есть раздел с полным примером использования отмены/повтора.
просто интересно, сделал для него свою штучку, функциональную, но наверное могло быть и лучше
еще не сталкивался с ускорителем, но пробовал другие подобные методы. Спасибо! Разве вы не знаете, как предотвратить повтор, если действие случайно выполняется после отмены?