Это обзор метода 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/”