У меня есть панель инструментов Perspective Switcher, которую я добавил в качестве элемента управления инструментом в свой файл e4xmi
(Windows -> Trimmed Window -> TrimBars -> Window Trim -> Tool Control
).
Я аннотировал метод с помощью @PostConstruct
. Это успешно вызывается и передает родительский Composite
.
@PostConstruct
private void postConstruct(final Composite parent)
{
// Do Something
}
У меня проблема в том, что это вызывается дважды.
В первый раз он вызывает конструктор и создает новый экземпляр. Затем он удаляет его сразу после этого и выдает исключение виджета is disposed.
При втором вызове он создает другой экземпляр. Панель инструментов правильно и добавляет ее в графический интерфейс, как и ожидалось.
Это приложение RCP 3, работающее в режиме совместимости с RCP 4. Я добавил файл e4xmi
и указал на него с помощью applicationXMI
в файле plugin.xml
.
Я прочитал аналогичный вопрос здесь, хотя я чувствую, что их решение может отличаться от того, что может мне помочь.
Почему он строится дважды?
Обновить
Я заметил, что это происходит только в том случае, если я сначала очистил кеш, установив флажок Clear
в конфигурации запуска. Если я не очищаю кеш, он вызывает его только один раз.
Windows -> Trimmed Window -> TrimBars -> Window Trim -> Tool Control
. Я обновил вопрос. - person Michael   schedule 06.11.2018Clear
в конфигурации запуска. - person Michael   schedule 06.11.2018