NetBeans; Как прослушивать события создания/открытия/закрытия проекта

Я создал модуль NetBeans, среди прочего, с пользовательским типом проекта. Затем я решил переместить некоторые элементы, связанные с проектом, включая действия, связанные с открытием, созданием и закрытием проекта, в отдельную библиотеку, чтобы уменьшить зависимость от платформы NetBeans.

Теперь мне нужно вызывать код в библиотеке при создании, открытии или закрытии проекта в NetBeans, но я не знаю, как получать уведомления об этих событиях. Кто-нибудь может помочь?


person Viet Norm    schedule 12.09.2013    source источник


Ответы (2)


Вы должны расширить ProjectOpenedHook реализует соответствующие методы и десять добавляет ваше расширение в поиск вашего проекта.

person Community    schedule 12.09.2013
comment
Отлично, спасибо, Антонио :) Есть ли способ создать проект вне NetBeans, но при этом тип проекта будет отображаться в списке образцов? Я думал, что могу создать пустой шаблон проекта и вызвать внешний код в какой-то момент во время создания пустого проекта... Так должно работать, но это немного некрасиво. - person Viet Norm; 13.09.2013

Предложение Антонио отлично работает, я просто хочу добавить дополнительную информацию.

  • Чтобы создать проект, я создал шаблон проекта из пустого проекта. В сгенерированном классе WizardIterator я заменил вызов unZipFile() на вызов моего Project.create().

  • Метод loadProject() ProjectFactory также можно использовать для запуска логики, связанной с открытием проекта.

  • Я занимаюсь закрытием проекта, как предложил Антонио.

person Viet Norm    schedule 13.09.2013
comment
loadProject() можно вызвать для проекта, который не открыт. Например. через FileOwnerQuery - person mkleint; 24.09.2013