Netbeans ProjectsTopComponent?
Что такое правильный PreredID для TopComponent проектов Netbeans? Я создал небольшой модуль, чтобы помочь с проектом, однако мне нужна кнопка в модуле для запуска, когда определенный подузел выделяется на панели проектов. Использование Utilities.actionsGlobalContext() не поможет, поскольку кнопка находится в другом модуле, и просто повторное выделение значения для сохранения самого последнего выбранного подузла не является идеальным. У кого-нибудь есть предложения?
1 ответ
Если я вас правильно понимаю, вы хотите иметь возможность выполнить действие (кнопки), которое существует в другом модуле?
Один из способов сделать это - зарегистрировать действие (кнопки) в файле слоя вашего модуля:
...
<folder name="SomeFolder">
<folder name="MyActions">
<file name="com-my-Action.instance">
<attr name="delegate" newvalue="com.my.Action"/>
<attr name="displayName" bundlevalue="com.my.Bundle#MYACTION_DIPLAYNAME"/>
...
</file>
</folder>
</folder>
А потом с помощью Utilities.actionsForPath(string)
посмотрите это действие:
List<? extends Action> actions = Utilities.actionsForPath("SomeFolder/MyActions");
Action myAction = null;
for (Action action : a) {
if (action.getValue(Action.NAME).equals("My Action Display Name")) {
myAction = action;
break;
}
}
// use the action
myAction.actionPerformed(null);
Смотрите также
Javadoc для Utilities.actionsForPath(строка)