Processing依存からの脱却−コンポーネント
6回に亘ってイベントリスナーについて書いてきました。今日は様々なコンポーネントについて書いていこうと思います。
1.チェックボックス
これはクリックしたら□にレ点が付いたり取れたりして、ONとOFFが切り替わるものです。チェックボックスはCheckboxクラスとして用意されています。
コンストラクタ
Checkbox();
Checkbox(String);
Checkbox(String, boolean)
ここで、Stringは表示されるテキストで、booleanはON/OFFを表します。ONがtrueです。
メソッド
//ONならtrueを、OFFならfalseを返す Checkbox.getState(); //trueならONに、falseならOFFに設定する Checkbox.setState(boolean); //テキストを変える Checkbox.setLabel(String);
また、選択を変更するときにイベントが起こります。それを取得するためにはItemListenerを用います。ItemListenerのメソッドには
public void itemStateChanged(ItemEvent e)
があります。
また、これを用いてCheckboxをCheckboxGroupというグループ化のためのクラスを使って、ラジオボタンと呼ばれる複数の選択肢の中から一つを選択するというものが作成できます。使うのは簡単で、コンストラクタを
Checkbox(String, boolean, CheckboxGroup); Checkbox(String, CheckboxGroup, boolean);
また、CheckboxGroupのコンストラクタは
CheckboxGroup();
です。
CheckboxGroupのメソッド
//指定したチェックボックスを選択する CheckboxGroup.setSelectedCheckbox(Checkbox); //指定されているチェックボックスを返す CheckboxGroup.getSelectedCheckbox();
2. テキストフィールド、テキストエリア
テキストフィールドは1行の、テキストエリアは複数行のテキスト入力のできるコンポーネントです。テキストフィールドはTextFieldクラス、テキストエリアはTextAreaクラスによって作成できます。
TextFieldのコンストラクタ
TextField(); TextField(int); TextField(String); TextField(String, int);
intは列の数、Stringは初期状態で表示されているテキストです。setTextやgetTextメソッドによって、記入された文字列をやり取りできます。また、Enterキーを押すことによってActionEventが発生するので、ActionListenerによってイベントを処理することができます。
TextAreaのコンストラクタ
TextArea(); TextArea(int, int);//列数、行数 TextArea(String); TextArea(String, int, int); TextArea(String, int, int, TextAreaフィールド);
基本的には同じですが、Enterキーを押してもイベントは発生せず、改行されます。また、複数行指定できることで、スクロールバーが登場することもあります。そこで、スクロールバーを指定するためにTextAreaフィールドが用意されています。
スクロールバーに関するフィールド
//垂直、水平方向両方を表示 SCROLLBARS_BOTH //水平方向のみを表示 SCROLLBARS_HORIZONTAL_ONLY //垂直方向のみを表示 SCROLLBARS_VERTICAL_ONLY //表示しない SCROLLBARS_NONE
3. ポップアップダウン(コンボボックス)
クリックするとビローンと選択項目のリストが出てくるあれのことです。これはChoiceクラスとして用意されています。
コンストラクタ
Choice();
メソッド
//項目を増やす Choice.add(String); //int番目に項目を挿入する Choice.insert(String, int); //項目を取り除く Choice.remove(String): Choice.remove(int); //全て取り除く Choice.removeAll(); //int番目のテキストを返す Choice.getItem(int); //項目の数を返す Choice.getItemCount(); //選択されている項目のテキストを返す Choice.getItemItem(); //選択されている項目の番号を返す Choice.getItemIndex(); //指定した項目を選択する。 Choice.select(String); Choice.select(int);
これも項目を選択したときにItemEventが発生するため、ItemListenerによってイベント処理を行うことができます。
4. リスト
一覧リストから項目を選ぶコンポーネントです。これはListクラスとして用意されています。
コンストラクタ
List(); List(int); List(int, boolean);
ここで、intは表示する行数、booleanは複数選択の可/不可を表します。複数選択可なら、trueです。
メソッド
//項目を加える List.add(String); //項目をint番目に挿入する List.add(String, int); //項目を取り除く List.remove(String); List.remove(int); //全て取り除く List.removeAll(); //指定した番号のテキストを返す List.getItem(int); //項目数を返す List.getItemCount(); //選択されている項目を返す List.getSelectedIndex();//int List.getSelectedItem();//String List.getSelectedIndexes();//int[] List.getSelectedItems();//String[] //int番目の項目を選択する List.select(int); //int番目が選択されているかをbooleanで返す List.isIndexSelected(int); //複数選択の可/不可をbooleanで返す List.isMultipleMode(); //複数選択の可/不可を指定する List.setMultipleMode(boolean);
項目選択時にはItemEvent、ダブルクリックすると、ActionEventが発生します。
長くなりましたが、基本的なコンポーネントはこんなもんのようです。また、見つけたら書きます。次回はレイアウトの方法について書きます。