これは

JOptionPane`クラスの

showMessageDialog() `メソッドのレビューです。この方法は、起こったことをユーザーに伝える簡単で簡単な方法です。 `showMessageDialog()`は以下のパラメータの組み合わせを使って呼び出すことができます:

Component, Object
Component, Object, String, int
Component, Object, String, int, Icon

  1. コンポーネント – 最初のパラメータは、

ダイアログが表示されるフレーム。 nullの場合、または「parentComponent」にFrameがない場合は、デフォルトのFrameが使用されます。

  1. Object – 2番目のパラメータは任意のオブジェクトです. __(一部の年齢

Javaのバージョンでは、プリミティブ型を直接使用するとコンパイラエラーが発生する可能性があります)__。

  1. String – 3番目のパラメータは、文字列のタイトルとして配置されます.

メッセージダイアログウィンドウ。

  1. int – Stringの後に続くintは `MessageType`です. ザ


JOptionPane`のための異なる

MessageTypes`は次のとおりです:

デフォルトの `MessageType`アイコンを上書きします。

1.コンポーネント

メッセージダイアログを使用する最も簡単な方法。

Component`がnullに設定され、

String`が第2引数として設定された例:

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

}

出力:


swing-dialog-1a

2.コンポーネント、オブジェクト、文字列

メッセージダイアログにいくつかの情報を追加します。

Component`がヌルに設定され、

double`が第2のパラメータとして設定された例:

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

}

出力:


swing-dialog-1b

エラーメッセージの例(

Component`がnull、

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

}

出力:


swing-dialog-1c

3.コンポーネント、オブジェクト、文字列、int

あなたのメッセージダイアログを “きれい”にしてください。ディレクトリから取得された `Icon`を使った例:

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

}

出力:


swing-dialog-1d


Component`が

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

}

出力:


swing-dialog-1e

4.より高度な例

この例では、Objectパラメータとして

JPanel`を渡しています。 `JPanel`はカスタマイズされ、

JLabel`が追加されています。また、

UIManager`の呼び出しを使って

OptionPane`のサイズを操作しています。

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

出力:


swing-dialog-1f

参考文献

JOptionペイン – Java 8 API]


dialog


JOptionPane

リンク://タグ/スイング/[スイング]