Необходимо использовать тип JOptionPane.ERROR_MESSAGE JDialog в JFrame

Я использовал поле JDialog для отображения сообщения об ошибке,

JOptionPane.showMessageDialog(
        null, "ErrorMsg", "Failure", JOptionPane.ERROR_MESSAGE);

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

Поэтому я использовал JFrame вместо этого и использовал setAlwaysOnTop(true) для отображения сообщения. Я использовал JLabel и JButton, и я заставил его отображаться как JDialog с помощью приведенной ниже ссылки.

Как удалить максимизацию и свернуть кнопки из JFrame?

Я хочу добавить символ сообщения об ошибке в приведенном выше фрейме, который мы получаем, когда используем тип JOptionPane.ERROR_MESSAGE в диалоговом окне.

Я не хочу добавлять значок изображения в папку JFrame. Я расширяю свой класс от JDialog. Можно ли использовать MessageType в моем кадре?


person Shaik Md    schedule 03.11.2011    source источник


Ответы (2)


Метод setAlwaysOnTop(boolean) относится к классу Window. Таким образом, оба класса JDialog и JFrame наследуют этот метод. Вы можете использовать JDialog, помеченный как AlwaysOnTop.

Вы можете использовать JOptionPane для подготовки необходимых JDialog:

JOptionPane optionPane = new JOptionPane("ErrorMsg", JOptionPane.ERROR_MESSAGE);    
JDialog dialog = optionPane.createDialog("Failure");
dialog.setAlwaysOnTop(true);
dialog.setVisible(true);
person svaor    schedule 03.11.2011
comment
Как закрыть диалог? после нажатия ОК программа все еще работает .. как ее удалить . - person Shaik Md; 03.11.2011
comment
Что ты хочешь делать? Вы имеете в виду модальный диалог (setModal(true))? Или вы хотите получить результат действий пользователя в диалоговом окне? - person svaor; 03.11.2011
comment
Диалог JDialog = новый JOptionPane(ErrorMsg, JOptionPane.ERROR_MESSAGE,JOptionPane.DEFAULT_OPTION).createDialog(Отказ); диалог.setAlwaysOnTop (истина); диалог.setVisible (истина); диалог.расположить(); - person Shaik Md; 03.11.2011
comment
Большое спасибо :) !! приведенный выше код работает, оптимальное решение для моей проблемы. - person Shaik Md; 03.11.2011
comment
Не упоминай об этом. :) Теперь вы можете пометить этот вопрос как неотвеченный. - person svaor; 03.11.2011