Это обзор метода showMessageDialog()
класса JOptionPane
. Этот метод является быстрым и простым способом сообщить пользователю о том, что произошло. showMessageDialog()
может быть вызван с использованием следующих комбинаций параметров:
Component, Object Component, Object, String, int Component, Object, String, int, Icon
- Компонент – Первый параметр – это компонент, который определяет кадр, в котором отображается диалоговое окно; если значение равно нулю, или если
Родительский компонент
не имеет фрейма, используется фрейм по умолчанию. - Объект – Вторым параметром могут быть любые объекты. (В некоторых более старых версиях Java вы можете получить ошибку компилятора при непосредственном использовании примитивных типов) .
- Строка – Третий параметр – это строка, помещенная в качестве заголовка диалогового окна сообщения.
int – Значение int, которое следует за строкой, является
Типом сообщения
. РазличныеТипы сообщений
дляJOptionPane
, являются:- СООБЩЕНИЕ ОБ ОШИБКЕ
- ИНФОРМАЦИОННОЕ СООБЩЕНИЕ
- ПРЕДУПРЕЖДЕНИЕ_МЕССАЖ
- ВОПРОС_СООБЩЕНИЕ
- ПРОСТОЕ СООБЩЕНИЕ
- Икона – Последним параметром является
Значок
, который отображается внутри диалогового окна и переопределяет значение по умолчаниюТип сообщения
значок.
1. Компонент и объект
Самый простой способ использовать диалоговое окно сообщения. Пример с Компонент
имеет значение null и/| Строка в качестве второго аргумента:
package com.mkyong.messageDialog; import javax.swing.JOptionPane; public class SimpleDialog1 { public static void main(String[] args){ JOptionPane.showMessageDialog(null, "Simple Information Message"); } }
Выход:
2. Компонент, объект, Строка и int
Добавление дополнительной информации в диалоговое окно сообщения. Пример с Компонент
имеет значение null и двойной
в качестве второго параметра:
package com.mkyong.messageDialog; import javax.swing.JOptionPane; public class SimpleDialog2a { public static void main(String[] args){ JOptionPane.showMessageDialog(null, 8.9, "This is not an integer.", JOptionPane.PLAIN_MESSAGE); } }
Выход:
Пример сообщения об ошибке ( Компонент
имеет значение null, Строковый объект
):
package com.mkyong.messageDialog; import javax.swing.JOptionPane; public class SimpleDialog2b { public static void main(String[] args){ JOptionPane.showMessageDialog(null, "Uh-oh!", "Error", JOptionPane.ERROR_MESSAGE); } }
Выход:
3. Компонент, Объект, Строка, int и значок
Сделайте свой диалог сообщений “красивее”. Пример с Значок
извлеченный из каталога:
package messageDialog; import javax.swing.ImageIcon; import javax.swing.JOptionPane; public class SimpleDialog3a { public static void main(String[] args){ ImageIcon icon = new ImageIcon("src/images/turtle64.png"); JOptionPane.showMessageDialog(null, "I like turtles.", "Customized Dialog", JOptionPane.INFORMATION_MESSAGE, icon); } }
Выход:
Пример с Компонент
установлен в рамку
:
package com.mkyong.messageDialog; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JOptionPane; import java.awt.Color; public class MessageDialogInFrame extends JFrame{ public MessageDialogInFrame() { getContentPane().setBackground(Color.DARK_GRAY); setTitle("Message Dialog in Frame"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); setResizable(false); setSize(400, 300); getContentPane().setLayout(null); } public static void main(String[] args){ ImageIcon icon = new ImageIcon("src/images/turtle64.png"); JOptionPane.showMessageDialog(new MessageDialogInFrame(), "I appear as part of the frame!!", "Customized Dialog", JOptionPane.INFORMATION_MESSAGE, icon); } }
Выход:
4. Более продвинутый пример
В этом примере мы передаем JPanel
в качестве параметра объекта. Панель
настроена и к ней добавлена Метка
. Мы также манипулируем размером Joptionpane
с помощью вызова UIManager
.
package com.mkyong.messageDialog; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.UIManager; public class MessageDialogPanel { public static void main(String[] args){ ImageIcon icon = new ImageIcon("src/images/turtle64.png"); JPanel panel = new JPanel(); panel.setBackground(new Color(102, 205, 170)); panel.setSize(new Dimension(200, 64)); panel.setLayout(null); JLabel label = new JLabel("Turtles are awesome!!! :D"); label.setBounds(0, 0, 200, 64); label.setFont(new Font("Arial", Font.BOLD, 11)); label.setHorizontalAlignment(SwingConstants.CENTER); panel.add(label); UIManager.put("OptionPane.minimumSize",new Dimension(300, 120)); JOptionPane.showMessageDialog(null, panel, "Customized Message Dialog", JOptionPane.PLAIN_MESSAGE, icon); } }
Выход:
Рекомендации
Оригинал: “https://mkyong.com/swing/java-swing-how-to-make-a-simple-dialog/”