Представление JFrame синхронно - PullRequest
1 голос
/ 30 января 2011

У меня есть этот основной JFrame (назовите его DrinkChooser), который показывает еще одно сложное подтверждение JFrame (назовите его ConfirmWin).

ConfirmWin имеет только две кнопки J, подтвердите и отмените.

Я хочу сделать это:

(в DrinkChooser, предположим, что drinkChoosen - это напиток [])

public void handleAction(){
int choice = ConfirmWin.showDrinkConfirmation(drinksChoosen);

if(choice == ConfirmWin.CONFIRM)
//Handle confirmation.
else
//handle cancel, do nothing.
}

Я хочу добиться эффекта, максимально приближенного к «эффекту JOptionPane», состоящего в том, что оригинальный DrinkChooser приостанавливается, а ConfirmWin возвращает выбор пользователя.

Спасибо.

Ответы [ 2 ]

1 голос
/ 31 января 2011

Не забывайте, что аргумент value всех методов JOptionPane.showXXXX может быть JComponent. Если вы передадите компонент (в вашем примере это может быть JList с пользовательским средством визуализации), он будет встроен в диалог и может использоваться для настройки внешнего вида.

1 голос
/ 30 января 2011

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

Окно диалога - это независимое подокно, предназначенное для переноса временного уведомления помимо основного приложения SwingОкно.Большинство диалоговых окон представляют пользователю сообщение об ошибке или предупреждение, но диалоговые окна могут представлять изображения, деревья каталогов или почти все, что совместимо с основным приложением Swing, которое ими управляет.

Для удобстванесколько классов компонентов Swing могут напрямую создавать и отображать диалоги.Чтобы создать простые стандартные диалоги, вы используете класс JOptionPane.

Возможно, это связанный вопрос:

...