Я хотел бы добавить Cut
/Copy
/Paste
элементов в мое контекстное меню У меня уже есть доступ к моему управлению JTree
.Инициировать вырезать/копировать/вставлять действие программно
Мне бы хотелось, чтобы эти действия инициировали действия по умолчанию «вырезать», «скопировать», «вставить», уже реализованные по умолчанию JTree
, с минимальным шаблоном кода. Я проверил действия, доступные в ActionMap на дереве, я могу сделать getActionMap(). Get ("cut"), чтобы получить соответствующее действие, но я не знаю, как продолжить - есть метод, называемый SwingUtilities.notifyAction
(это используется при обработке привязок ключей по умолчанию в дереве), но для этого метода требуется несколько значений параметров, которые у меня отсутствуют.
Я ожидаю, что код может нравится немного, как это, только другой метод должен быть использован вместо notifyAction
, или, возможно, некоторые разумные значения могут быть contstructed для недостающих параметров:
Action action = tree.getActionMap().get("cut");
if (action != null) {
SwingUtilities.notifyAction(action);
}
См. Этот ответ от Vineet Kosaraju: http://stackoverflow.com/questions/20343716/my-custom-paste-from-clipboard-action –
@ManojVadehra Спасибо за внимание, но это определенно кажется слишком многословным для этой цели. Я не собираюсь выполнять операции с буфером обмена, они уже реализованы в контейнере, я просто хочу вызвать или вызвать существующую реализацию. – Suma
'new JMenuItem (action)' <- В основном использовать 'Action' с' JMenuItem'. Вы могли бы найти, что вам нужно предоставить текст для кнопки, но посмотрите, где это вам понадобится – MadProgrammer