Представление jframe синхронно
-
27-10-2019 - |
Вопрос
У меня есть этот основной jframe (Call It DrinkChooser), который показывает еще одно сложное подтверждение JFrame (Call It RefintWin).
У подтверждения есть только два Jbuttons, подтвердить и отменить.
Я хочу сделать это:
(В DrinkChooser предположить
public void handleAction(){
int choice = ConfirmWin.showDrinkConfirmation(drinksChoosen);
if(choice == ConfirmWin.CONFIRM)
//Handle confirmation.
else
//handle cancel, do nothing.
}
Я хочу достичь максимально близового эффекта к «эффекту joptionpane», который заключается в том, что оригинальный DrinkChooser приостановлен, и подтверждает, что вернет выбор пользователя.
Спасибо.
Решение
Взглянуть на след Как сделать диалоги.
Диалоговое окно - это независимый субворот, предназначенный для того, чтобы нести временное уведомление, кроме основного окна применения качания. Большинство диалогов представляют сообщение об ошибке или предупреждение пользователю, но диалоги могут представлять изображения, деревья каталогов или почти все, что совместимо с основным приложением качания, которое управляет ими.
Для удобства несколько классов компонентов свинга могут напрямую создавать диалоги и отображать. Чтобы создать простые, стандартные диалоги, вы используете класс JoptionPane.
Вот, возможно, связанный вопрос:
Другие советы
Не забывайте, что value
аргумент всех JOptionPane.showXXXX
Методы могут быть JComponent
. Анкет Если вы передадите компонент (в вашем примере это может быть JList
С помощью пользовательского рендеринга) он будет встроен в диалог и может использоваться для настройки внешнего вида.