как сохранить JDialog в объекте JDialog, созданном JOptionPane - PullRequest
0 голосов
/ 24 июня 2019

Я создаю JDialog JOptionPane наподобие

JOptionPane. showMessageDialog(null, "Last Warning!","Warning", JOptionPane.WARNING_MESSAGE);

, это показывает диалог непосредственно и возвращает void, поэтому я не могу сохранить его в переменной JDialog.

Я хочу сделать что-то подобное

JDialog warning = JOptionPane. showMessageDialog(null, "Last Warning!","Warning", JOptionPane.WARNING_MESSAGE);
// some code
warning.setVisible(true);

Как я могу это сделать?

1 Ответ

3 голосов
/ 24 июня 2019

JOptionPane имеет для удобства как статические служебные методы, так и позволяет создавать экземпляры для пользовательских операций, как вы хотите.Способ сделать это более подробный, но более гибкий:

JOptionPane pane = new JOptionPane("Last Warning!", JOptionPane.WARNING_MESSAGE, JOptionPane.DEFAULT_OPTION);
JDialog warning = pane.createDialog("Warning");

// more code...

warning.setVisible(true);

Для получения дополнительной информации я предлагаю посмотреть исходный код JOptionPane.showOptionDialog(...), поскольку он показывает, как настроить диалог для различных сообщений.типы, начальное значение и т. д. В качестве примера рассмотрим Как создавать диалоги из учебников по Java.

...