目次へ

11.2. javax.swing.JOptionPane

「JOptionPane」は数種類のモーダル・ダイアログの雛型を提供するクラスです。正確にはダイアログの中身のパネルを提供するクラスですが、「showConfirmDialog」等によって、簡単にダイアログを表示させる事ができます。例えば以下はユーザの確認をとるモーダルダイアログです。

「JOptionPane」イメージ

このダイアログを表示するには以下のようにします。

JOptionPane.showConfirmDialog(frame,"OK?","option pane",
                              JOptionPane.YES_NO_CANCEL_OPTION);

第1引数は親フレーム(親ダイアログ)、第2引数はメッセージ、第3引数はタイトル、第4引数が確認ボタンのタイプを示します。「JOptionPane.YES_NO_CANCEL_OPTION」か「JOptionPane.YES_NO_OPTION」のいずれかを指定します。またこのメソッドは、ユーザの選択に応じて、「JOptionPane.YES_OPTION」「JOptionPane.NO_OPTION」「JOptionPane.CANCEL_OPTION」のいずれかの値を返します。

(実習課題2)

実習課題1のプログラムを改良しなさい。

  • 追加メニューを押したときに表示されるダイアログを「JOptionPane」で作成する事。
  • 入力された追加データが空白である場合、エラーダイアログを表示する事。
  • (ヒント)「JOptionPane」の「showInputDialog」と「showMessageDialog」メソッドを使用する。

解答例はこちら

(実習課題3)

実習課題2のプログラムを改良しなさい。

  • 「削除」メニューを追加し、そのメニューを選択すると、削除するアイテムを選択するダイアログを表示する。そのダイアログは「JOptionPane」で作成する事。
  • (ヒント)「JOptionPane」の「showInputDialog」メソッドで引数が7つあるものを使用する。

解答例はこちら

11.3. javax.swing.SwingConstants

ダイアログとは関係がありませんが、これまでコンポーネントの文字配置等で利用してきた「SwingConstants」について説明します。「SwingConstants」はSwingコンポーネントでよく使用される定数を集めた「インタフェース」です。

インタフェースがメンバ変数を持つのかという疑問が出てきますが、「インタフェース定数」に限り、持つことができます。(正確にはインタフェースで定義されたメンバ変数は自動的に「static」で「final」な変数、つまりインタフェース定数となります。)

またほとんどのコンポーネントが「SwingConstants」インタフェースを実装しています。これまで

JLabel label=new JLabel("label",SwingConstants.LEFT);

と書いてきましたが、「JLabel」は「SwingConstants」インタフェースを実装しているので、

JLabel label=new JLabel("label",JLabel.LEFT);

と書いても同じ事になります。解りやすさを考えると、下のほうが良いでしょうか。

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp