Java Swing - Exemple de JOptionPane showMessageDialog
Ceci est un examen de la méthodeshowMessageDialog() de la classeJOptionPane. Cette méthode est un moyen rapide et facile d'informer l'utilisateur de quelque chose qui s'est passé. LesshowMessageDialog() peuvent être appelés en utilisant les combinaisons de paramètres suivantes:
Component, Object Component, Object, String, int Component, Object, String, int, Icon
-
Composant - Le premier paramètre est un composant qui détermine le cadre dans lequel la boîte de dialogue est affichée; si nul, ou si le
parentComponentn'a pas de trame, une trame par défaut est utilisée. -
Object - Le deuxième paramètre peut être n'importe quel objet. (In some older versions of Java you might get a compiler error when using primitive types directly).
-
String - Le troisième paramètre est une chaîne placée comme titre de la fenêtre de dialogue de message.
-
int - L'int qui suit la chaîne est le
MessageType. Les différentsMessageTypespourJOptionPanesont:-
MESSAGE D'ERREUR
-
INFORMATION_MESSAGE
-
MESSAGE D'ALERTE
-
QUESTION_MESSAGE
-
PLAIN_MESSAGE
-
-
Icône - Le dernier paramètre est un
Iconqui s'affiche dans la boîte de dialogue et remplace l'icône par défautMessageType.
1. Composant et objet
La manière la plus simple d'utiliser la boîte de dialogue de message. Exemple avecComponent défini sur null et unString comme deuxième argument:
SimpleDialog1.java
package com.techfou.messageDialog;
import javax.swing.JOptionPane;
public class SimpleDialog1 {
public static void main(String[] args){
JOptionPane.showMessageDialog(null, "Simple Information Message");
}
}
Sortie:

2. Composant, objet, chaîne et int
Ajout d'informations supplémentaires à la boîte de dialogue de message. Exemple avecComponent défini sur null et undouble comme deuxième paramètre:
SimpleDialog2a.java
package com.techfou.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);
}
}
Sortie:

Exemple de message d'erreur (Component défini sur null,String Object):
SimpleDialog2b.java
package com.example.messageDialog;
import javax.swing.JOptionPane;
public class SimpleDialog2b {
public static void main(String[] args){
JOptionPane.showMessageDialog(null, "Uh-oh!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
Sortie:

3. Composant, objet, chaîne, int et icône
Rendez votre boîte de dialogue «plus jolie». Exemple avecIcon récupéré à partir d'un répertoire:
SimpleDialog3a.java
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);
}
}
Sortie:

Exemple avecComponent défini sur aframe:
MessageDialogInFrame.java
package com.example.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);
}
}
Sortie:

4. Un exemple plus avancé
Pour cet exemple, nous transmettons unJPanel comme paramètre Object. LeJPanel est personnalisé et a unJLabel ajouté. Nous manipulons également la taille desOptionPane en utilisant un appel àUIManager.
MessageDialogPanel.java
package com.example.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);
}
}
Sortie:
