Необходимо использовать тип JDialog JOptionPane.ERROR_MESSAGE в JFrame - PullRequest
2 голосов
/ 03 ноября 2011

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

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

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

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

Как убрать кнопки максимизации и минимизации из JFrame?

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

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

Ответы [ 2 ]

9 голосов
/ 03 ноября 2011

Метод 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);
1 голос
/ 03 ноября 2011

вы можете передать любой JComponent как Object в конструкторе для JOptionPane ,

в вашем случае есть null value - JOptionPane.showMessageDialog (null, "ErrorMsg", например

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