GUI の構成ブロックであるコンポーネントを使用する |
TextArea と TextField クラスは、選択できるテキストを表示し、オプションとしてユーザがそのテキストを編集できるようにする。 TextArea と TextField をサブクラス化すると、入力のエラーをチェックするようなタスクを実行することができる。 あらゆる Component と同じように、TextArea と TextField が使用する背景色と前景色を指定することができる。 しかし、それらの基本的な外観を変更することはできない。TextArea と TextField はどちらもTextComponent のサブクラスである。これらは、現在の選択の設定や取り込み、編集の有効化と無効化、現在選択されているテキスト (またはすべてのテキスト) の取り込み、およびテキストの設定を行うメソッド を TextComponent から継承する。
以下に、まず TextField を表示し、次に TextArea を表示するアプレットを示す。 TextField は編集可能であり、TextArea は編集不能である。 ユーザが TextField で改行キーを押すと、その内容が TextArea にコピーされ、 TextField で選択されるようになっている。
プログラムも参照できる。 次に、TextArea と TextField のイベントを作成し、初期化し、処理するコード部分を示す。
TextArea と TextField の TextComponent スーパークラスは、上記のコード例で使用されている//インスタンス変数を定義する: TextField textField; TextArea textArea; public void init() { textField = new TextField(20); textArea = new TextArea(5, 20); textArea.setEditable(false); ...//2 つのコンポーネントをパネルに追加する。 } public boolean action(Event evt, Object arg) { String text = textField.getText(); textArea.appendText(text + "¥n"); textField.selectAll(); return true; }getText()
、setText()
、setEditable()
、selectAll()
メソッドを提供する。また、getSelectedText()
、isEditable()
、getSelectionStart()
、getSelectionEnd()
といった便利なメソッドを提供するほか、指定された開始位置と終了位置の間にあるテキストを選択するselect()
メ ソッドも用意している。TextField クラスは、
TextField()
、TextField(int)
、TextField(String)
、TextField(String, int)
という 4 つの構築子をもっている。 整数引数はテキストフィールドの列の数を指定し、 String 引数はテキストフィールドに初めに表示されるテキストを指定する。 TextField メソッドは以下のような便利なメソッドも提供する。
int getColumns()
- テキストフィールドの列の数を返す。
setEchoChar()
- エコー文字を設定する。エコー文字はパスワードフィールドで便利である。
char getEchoChar()
boolean echoCharIsSet()
- これらのメソッドにより、エコー文字を調べることができる。
TextField クラスと同じように、TextArea クラスにも 4 つの構築子がある。これらは
TextArea()
、TextArea(int, int)
、TextArea(String)
、TextArea(String, int, int)
である。 整数引数はテキストエリアの行と列の数を (それぞれ) 指定し、String 引数はテキ ストエリアに初めに表示されるテキストを指定する。TextArea クラスは、上記のコード例で使用されている
appendText()
メソッドを提供するほか、以下のようなメソッドも用意している。
int getRows()
,int getColumns()
- テキストエリアにある行または列の数を返す。
void insertText(String, int)
- 指定された位置に指定されたテキストを挿入する。
void replaceText(String, int, int)
- 指示された開始位置 (最初の整数) から指示された終了位置までテキストを置換する。
GUI の構成ブロックであるコンポーネントを使用する |