Javaプログラミング/Javaプログラミング関連情報

ダイアログを使おう!(4ページ目)

今回は、Swingに標準で用意されている各種のダイアログの利用について説明しましょう。

執筆者:掌田 津耶乃

汎用ダイアログを使う


ファイルダイアログやカラーダイアログのように特定の用途のものでなく、メッセージの表示やユーザからの入力など汎用的な使い方をするダイアログというのもありますね。こうしたものは、「JOptionPane」というクラスを利用します。これは、名前から想像がつくように、ペイン(コンテナ)として作成されているクラスで、JComponentのサブクラスとなっています。

ただし、これは実際にコンテナに組み込んで使うことはあまりありません。クラスに用意されている、ダイアログを呼び出すためのメソッドを使い、画面にダイアログを表示して使います。

もっとも簡単な使い方は、「メッセージを画面に表示する」というものでしょう。これは、「showMessageDialog」というメソッドで行います。

public void clickBtn(){
JOptionPane.showMessageDialog(this, "メッセージを表示します。",
"インフォメーション", JOptionPane.INFORMATION_MESSAGE);
}

JOptionPane.showMessageDialogで画面に現れるダイアログ。

ここでは、showMessageDialogを呼び出して画面にメッセージを表示しています。これはJOptionPaneのクラスメソッドで、クラスから直接呼び出せます。引数には、「属するコンポーネント」「タイトル」「メッセージ」「メッセージの種類(int値)」といったものが渡されています。メッセージの種類は、JOptionPaneに用意されている以下のようなクラスフィールドを使って指定します。

ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE
PLAIN_MESSAGE

ここでは、INFORMATION_MESSAGEを指定して、情報表示のアラートとして表示をしました。これらの種類の違いは、表示されるアイコンの違いと考えてよいでしょう。

テキスト入力を行う


続いて、ユーザから入力をしてもらうためのダイアログを呼び出してみましょう。もっとも一般的なのは、テキストを直接書いてもらうというものですね。これは割りと簡単です。そのためのメソッドを呼び出すだけですから。

public void clickBtn(){
String result = JOptionPane.showInputDialog(this, "メッセージを入力してください。。",
"インフォメーション", JOptionPane.INFORMATION_MESSAGE);
label.setText(result);
}

JOptionPane.showInputDialogで画面に現れるダイアログ。

この「showInputDialog」メソッドは、画面にテキスト入力が可能なダイアログを呼び出し、入力されたテキストを返す働きをします。これもクラスメソッドですからクラスから直接呼び出すだけです。また、テキストを入力せずにキャンセルした場合は、そのまま処理が中断され、その後の処理は実行されません。

複数項目からの選択


テキストでなく、いくつかの選択肢から入力するような場合には、showInputDialogの呼び出し方を少し変えてやる必要があるでしょう。

public void clickBtn(){
Object result = JOptionPane.showInputDialog(this, "メッセージを入力してください。。",
"インフォメーション", JOptionPane.INFORMATION_MESSAGE,null,
new String[]{"One","Two","Three"},"One");
label.setText((String)result);
}

showInputDialogで画面に現れるダイアログ。

ここでは、showInputDialogを呼び出す際、既存の4つの引数の更に後に、「表示する項目を配列にまとめたもの」「初期状態で選択されている項目」といった情報を追加します。こうすることで、配列の要素をポップアップメニューとして取り込んだJOptionPaneが出来上がったというわけです。

このJOptionPaneには、この他にもいろいろな利用の仕方があります。暇を見て、一度JOptionPaneについて調べてみるとよいでしょう。
【編集部おすすめの購入サイト】
Amazonで Java 関連の書籍をチェック!楽天市場で Java 関連の書籍をチェック!
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます