Java Swing - JOptionPane showMessageDialog - Beispiel

Dies ist eine Überprüfung der showMessageDialog () 'Methode der JOptionPane`-Klasse. Diese Methode bietet eine schnelle und einfache Möglichkeit, den Benutzer über Ereignisse zu informieren. Der showMessageDialog () kann mit folgenden Parameterkombinationen aufgerufen werden:

Component, Object
Component, Object, String, int
Component, Object, String, int, Icon
  1. Komponente - Der erste Parameter ist eine Komponente, die den Wert bestimmt

Rahmen, in dem der Dialog angezeigt wird; Wenn der Wert null ist oder wenn parentComponent keinen Frame hat, wird ein Standardframe verwendet.

  1. Objekt - Der zweite Parameter kann ein beliebiges Objekt sein. __ (In einigen älteren

Java-Versionen erhalten Sie möglicherweise einen Compiler-Fehler, wenn Sie primitive Typen direkt verwenden.

  1. String - Der dritte Parameter ist ein String, der als Titel der Zeichenfolge platziert wird

Meldungsdialogfenster.

  1. int - Das int, das dem String folgt, ist MessageType Das

verschiedene MessageTypes für` JOptionPane` sind:

Dialog und überschreibt das Standardsymbol 'MessageType`.

1. Komponente & Objekt

Die einfachste Möglichkeit, den Nachrichtendialog zu verwenden. Beispiel mit Component auf null und einem` String` als zweitem 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");
    }

}

Ausgabe:

swing-dialog-1a

2. Komponente, Objekt, Zeichenfolge

Weitere Informationen zum Nachrichtendialog hinzufügen. Beispiel mit Component auf null und` double` als zweiten Parameter:

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);
    }

}

Ausgabe:

swing-dialog-1b

Beispiel für eine Fehlermeldung ( Component auf null gesetzt,` String Object`):

SimpleDialog2b.java

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);
    }

}

Ausgabe:

swing-dialog-1c

3. Komponente, Objekt, String, int & Icon

Machen Sie Ihren Nachrichtendialog "schöner". Beispiel mit Icon aus einem Verzeichnis abgerufen:

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);
    }

}

Ausgabe:

swing-dialog-1d

Beispiel mit Component auf einen` Frame`:

MessageDialogInFrame.java

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);
    }

}

Ausgabe:

swing-dialog-1e

4. Ein fortgeschritteneres Beispiel

Für dieses Beispiel übergeben wir als Parameter den Wert "JPanel". Die JPanel ist kundenspezifisch und mit einem 'JLabel` versehen. Wir manipulieren auch die Größe des OptionPane mit einem Aufruf an` UIManager`.

MessageDialogPanel.java

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);
    }
}

Ausgabe:

swing-dialog-1f