Подождите, пока приложение Netbeans Platform десериализует все ранее открытые окна

Я занимаюсь разработкой приложения на платформе Netbeans и столкнулся со следующей проблемой: при закрытии моего приложения сохраняются открытые окна A и B. При повторном открытии моего приложения окна десериализуются одно за другим. Сначала A, а затем B. Вполне возможно, что я получу новую информацию для окна B во время повторного открытия окна A. В этот момент логика программы решает, открывать ли новое окно B или использовать существующее. Но поскольку окно B еще не существует, оно открывает новое окно. После этого "старое" окно B открывается десериализацией.

Можно ли подождать, пока откроются все окна? Я мог бы отложить открытие дополнительных окон, пока все окна не будут открыты.

Я ничего не нашел ни в Windows-System API, ни в классе WindowManager.

Любая другая идея?

1 ответ

Решение

13 просмотров и 0 ответов, нам нужно больше разработчиков платформы NetBeans!

    WindowManager.getDefault().addWindowSystemListener(new WindowSystemListener() {

        @Override
        public void beforeLoad(WindowSystemEvent wse) {
        }

        @Override
        public void afterLoad(WindowSystemEvent wse) {
            // at this point all windows are opened
        }

        @Override
        public void beforeSave(WindowSystemEvent wse) {
        }

        @Override
        public void afterSave(WindowSystemEvent wse) {
        }
    });
Другие вопросы по тегам