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
parentComponent
n'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érentsMessageTypes
pourJOptionPane
sont:-
MESSAGE D'ERREUR
-
INFORMATION_MESSAGE
-
MESSAGE D'ALERTE
-
QUESTION_MESSAGE
-
PLAIN_MESSAGE
-
-
Icône - Le dernier paramètre est un
Icon
qui 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: