swingコンポーネント->JOptionPane
JOptionPaneはダイアログボックスに配置されるコンポーネントです。アイコン、メッセージやひとつ以上の選択可能な値などを表示させることができます。オプションペインは柔軟性が高く、任意のダイアログを作成するのに使われます。 JOptionPaneのインスタンスを生成してオプションペインのダイアログが生成するが、スタティックなメソッドを呼び出してダイアログを生成することもできます。



ボタンをクリックしてください。


コンストラクタ(抜粋)
JOptionPane()
 テストメッセージを含む JOptionPane を生成します。
JOptionPane(Object message)
 messageを表示するためのJOptionPane のインスタンスを生成します。
メソッド(抜粋)
static int showConfirmDialog(Component parentComponent,
            Object message,String title,int optionType)

 確認ダイアログを生成します。


  parentComponent   ダイアログを表示する Frame を指定する。
null の場合、または parentComponent に Frame がない場合はデフォルトの Frame が使用されます。
 
  message 表示するメッセージ
  title ダイアログのタイトル文字列
  optionType ダイアログで選択可能なオプションを指定します。
  CLOSED_OPTION
  YES_NO_OPTION
  YES_NO_CANCEL_OPTION
  OK_CANCEL_OPTION
 
 

static void showMessageDialog(Component parentComponent,
           Object message,String title,int messageType)
 メッセージを表示するためのダイアログを表示します。

  parentComponent  ダイアログを表示する Frame を指定する。
null の場合、または parentComponent に Frame がない場合はデフォルトの Frame が使用されます。
 
  message 表示するメッセージ
  title ダイアログのタイトル文字列
  messageType 表示するメッセージの種類を指定します。
  ERROR_MESSAGE
  INFORMATION_MESSAGE
  WARNING_MESSAGE
  QUESTION_MESSAGE
  PLAIN_MESSAGE
 
 
 

static String showInputDialog(Component parentComponent,
                               Object message)
 ユーザに入力を求めるクエスチョンメッセージダイアログを表示します。

  parentComponent  ダイアログを表示する Frame を指定する。
null の場合、または parentComponent に Frame がない場合はデフォルトの Frame が使用されます。
 
  message 表示するメッセージ
 

OptionSample.java
import java.awt.*;  
import java.awt.event.*;  
import javax.swing.*;  
public class OptionSample extends JApplet implements ActionListener {  
   Container contentPane;  
   String[] msgStr = {"ERROR_MESSAGE",  
   "INFORMATION_MESSAGE",  
   "WARNING_MESSAGE",  
     "QUESTION_MESSAGE","PLAIN_MESSAGE"};  
  int[] teiStr = {JOptionPane.ERROR_MESSAGE,  
    JOptionPane.INFORMATION_MESSAGE,  
      JOptionPane.WARNING_MESSAGE,
      JOptionPane.QUESTION_MESSAGE,  
      JOptionPane.PLAIN_MESSAGE};
  JButton[] btn = new JButton[msgStr.length];  
  JPanel msgPanel = new JPanel();  
  String[] opStr = {"CLOSED_OPTION",  
    "YES_NO_OPTION",
    "YES_NO_CANCEL_OPTION",   
   "OK_CANCEL_OPTION"};
  int[] opteiStr = {JOptionPane.CLOSED_OPTION,  
    JOptionPane.YES_NO_OPTION,  
       JOptionPane.YES_NO_CANCEL_OPTION,  
    JOptionPane.OK_CANCEL_OPTION};  
  JButton[] opBtn = new JButton[opStr.length];  
 JPanel opPanel = new JPanel();  
   public void init() {   
     contentPane = getContentPane();  
     contentPane.setLayout(new GridLayout(1,2));  
     msgPanel.setLayout(new FlowLayout());  
     for(int i=0; i<msgStr.length; i++){  
      btn[i] = new JButton(msgStr[i]);  
     msgPanel.add(btn[i]);  
     btn[i].addActionListener(this);  
     }  
  contentPane.add(msgPanel);  
  opPanel.setLayout(new FlowLayout());  
  for(int i=0; i<opStr.length; i++){  
   opBtn[i] = new JButton(opStr[i]);  
   opPanel.add(opBtn[i]);  
   opBtn[i].addActionListener(this);  
  }  
   contentPane.add(opPanel);  
  }  
   public void actionPerformed(ActionEvent e) {  
    Object obt = e.getSource();  
    for(int i=0; i<msgStr.length; i++){  
      if(obt == btn[i]){  
       JOptionPane.showMessageDialog(btn[i], ← @
        msgStr[i],  
        "JOptionPane",  
        teiStr[i]);  
      }  
    }  
     for(int i=0; i<opStr.length; i++){  
       if(obt == opBtn[i]){  
        int n = JOptionPane.showConfirmDialog(opBtn[i],  ← A
          opStr[i],  
          "JOptionPane",  
          opteiStr[i],  
          JOptionPane.INFORMATION_MESSAGE);  
       }  
     }  
   }  
}  
@JOptionPane.showMessageDialog(btn[i], msgStr[i],
                              "JOptionPane", teiStr[i]);

 メッセージを表示するオプションペインをスタティックメソッドで呼び出しています。
 メッセージタイプの種類を配列msgStrで用意し、btn[i]が押された時にfor文で該当するメッセージで 生成しています。
A int n = JOptionPane.showConfirmDialog(opBtn[i], opStr[i],"JOptionPane",
     opteiStr[i], JOptionPane.INFORMATION_MESSAGE);

 確認を促すオプションペインをスタティックメソッドで呼び出しています。
  ボタンを示すオプションを配列opStrで用意し、opBtn[i]が押された時にfor文で該当するオプション  を使って生成しています。
もどる