Netbeans ProjectsTopComponent? - PullRequest
       11

Netbeans ProjectsTopComponent?

0 голосов
/ 26 ноября 2011

Какой правильный PreredID для TopComponent проектов Netbeans?Я создал небольшой модуль, чтобы помочь с проектом, однако мне нужна кнопка в модуле, чтобы вызвать, когда определенный подузел выделен на панели проектов.Использование Utilities.actionsGlobalContext () не поможет, поскольку кнопка находится в другом модуле, и просто повторное выделение значения для сохранения самого последнего выбранного подузла не является идеальным.У кого-нибудь есть предложения?

1 Ответ

2 голосов
/ 27 ноября 2011

Если я правильно вас понимаю, вы хотите иметь возможность выполнить действие (кнопки), которое существует в другом модуле?

Один из способов сделать это - зарегистрировать действие (кнопки) в файле слоя вашего модуля:

...
<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 (строка)

...