Previous | Next | Trail Map | Creating a User Interface | GUI の構成ブロックであるコンポーネントを使用する


選択肢の使用方法

Choice(in 
the API reference documentation) クラスは、個別のボタンでアクセスする 、メニューに似た選択肢のリストを提供する。ユーザはボタンを押して "メニュー" を起動し、その項目の中から 1 つを選択する。 ユーザが項目を選択すると、Choice はアクションイベントを生成する。

Choice は、限られたスペースに多数の選択肢を表示しなければならない場合や、ユーザがすべての選択肢を一度に見る必要のない場合などに便利である。ユーザはボタ ンを押して "メニュー" を起動し、その項目の中から 1 つを選択する。 この UI 要素はポップアップリスト とも呼ばれる。 複数の選択肢を提供する方法としては、ほかに チェックボ ックスリストメニューがある。

以下に、Choice と Label をもつアプレットを示す。 ユーザが Choice リストから項目を 1 つ選択すると、それに応じて Label が変化す る。Choice の最初の項目のインデックスは 0 であることに注意する。


使用中のブラウザは <APPLET> タグを理解しない。したがって、ここでは選択肢のスナップショットを示す。

このページのアプレットはまずこのように表示される。

別の選択項目 ("san") を選択しようとすると、アプレットはこのようになる。

そして、"san" を選択した後のアプレットの最終的な外観はこのようになる。


以下に、Choice を作成してそこからのイベントを処理するコードを示す。 (プログラム全体も参照できる。)action() メソッドへの 2 番目のパラメータ (e.arg と 同じ) は、選択された項目の文字列であることに注意する。

    //...インスタンス変数を定義する:
    Choice choice; //選択肢のポップアップリスト

    //...初期化を行う:
    choice = new Choice();
    choice.addItem("ichi");
    choice.addItem("ni");
    choice.addItem("san");
    choice.addItem("yon");
    label = new Label();
    setLabelText(choice.getSelectedIndex(), choice.getSelectedItem());

. . .

public boolean action(Event e, Object arg) {
    if (e.target instanceof Choice) {
            setLabelText(choice.getSelectedIndex(), (String)arg);
            return true;
        }
        return false;
    }
}

上記で使用されているメソッド以外にも、Choice クラスは以下のような便利なメソッドを定義している。

int countItems()
選択肢にある項目の数を返す。
String getItem(int)
指定されたインデックスで項目が表示している String を返す。
void select(int)
指定されたインデックスで項目を選択する。
void select(string)
指定された String を表示している項目を選択する。


Previous | Next | Trail Map | Creating a User Interface | GUI の構成ブロックであるコンポーネントを使用する