Как ждать закрытия всплывающего меню в разгаре

Я новичок в свинге, и я уверен, что есть другой способ, но из-за некоторого неудобного API я должен реализовать обработчик, который получает MouseEvent и возвращает результат. Я хотел бы показать всплывающее меню пользователю и дождаться его закрытия и вернуть значение в зависимости от того, что выбрал пользователь. Как это сделать? Заранее спасибо. ОК конкретная проблема: Substance TabCloseCallback imterface имеет следующий метод.

 public TabCloseKind onAreaClick(JTabbedPane tabbedPane,
          int tabIndex, MouseEvent mouseEvent);

Я хочу показать всплывающее меню, когда оно называется nad возвращаемое значение в зависимости от того, что выбрал пользователь.

3 ответа

Взгляните на Как использовать диалоги

Это позволит вам показать окно, которое будет блокироваться, пока пользователь не закроет его

Посмотрите на события, которые вы можете увидеть, позвонив JPopupMenu.addPopupMenuListener(),

В частности, вы можете получить popupMenuWillBecomeInvisible() вызов.

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

yourWindow.addWindowListener(new WindowAdapter() {

    @Override
    public void windowClosing(WindowEvent e) {

        // catch what you want
    }
});
Другие вопросы по тегам