2016-01-14 4 views
0

Я хотел бы добавить 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); 
     } 
+0

См. Этот ответ от Vineet Kosaraju: http://stackoverflow.com/questions/20343716/my-custom-paste-from-clipboard-action –

+0

@ManojVadehra Спасибо за внимание, но это определенно кажется слишком многословным для этой цели. Я не собираюсь выполнять операции с буфером обмена, они уже реализованы в контейнере, я просто хочу вызвать или вызвать существующую реализацию. – Suma

+0

'new JMenuItem (action)' <- В основном использовать 'Action' с' JMenuItem'. Вы могли бы найти, что вам нужно предоставить текст для кнопки, но посмотрите, где это вам понадобится – MadProgrammer

ответ

0

«Я хотел бы добавить элементы Cut/Copy/Paste в мое контекстное меню. У меня уже есть доступ к моему элементу управления JTree. "

Вы говорите о JPopupMenu? Если да, вы можете добавить JMenuItem для вырезания, копирования и вставки, а затем просто использовать addActionListener() для всех них.

Смежные вопросы