Как ждать закрытия всплывающего меню в разгаре
Я новичок в свинге, и я уверен, что есть другой способ, но из-за некоторого неудобного 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
}
});