2.7 テキストフィールド(JTextField)の使い方
本節では、テキストフィールド(JTextField)の使い方を見ていきます。
テキストフィールドとは、一行のテキスト編集領域を意味しており、ご存知の通りありとあらゆるケースで利用されます。
1.テキストフィールドの設置
テキストフィールドの設置から始めましょう。「TextExample」という名前の新規プロジェクトを作成します。
プロジェクトを作成したら、「SimpleFrame」という名前のJFrameフォームを作成します。よくわからない場合は、2.1 ソフトウェアの画面作り(JFrame)とルック・アンド・フィールを参照して下さい。
「パレット」ウィンドウの「Swingコントロール」タブから「テキストフィールド」をクリックし、「JFrame」フォームの上でもう一度クリックして配置します。必要に応じて、[右クリック]->[プロパティ]からサイズやフォントを変更しましょう。
テキストフィールドを右クリックして[テキストを編集]を選択し、「jTextField1」と書かれた文字を[Delete]キーで消します。この操作をすると、テキストフィールドがほっそりと縮んでしまうかもしれません。縮んでしまった際は、マウスドラッグで広げましょう。
テキストフィールドを右クリックして[変数名を変更]を選択します。
「textInput」という名前をつけました。入力(Input)の機能を持ったテキストフィールド(text)という意味です。
更に、上のようにGUI部品を配置しましょう。サイズやレイアウトは自分好みにしてもらって構いません。
2.機能の実装
機能の実装を行っていきましょう。ボタン(btnSayHello)をダブルクリックするか、ボタンを右クリックして[イベント]->[Action]->[actionPerformed]と進み、ボタンを押した際に実行されるメソッドに移動します。
ボタンを押した際の命令として、次のソースコードを書きましょう。
1 2 3 |
//名前を取得 String name = textInput.getText(); textOutput.setText("こんにちは、" + name + "さん!"); |
Stringとは文字列型変数の型名であり、文字列を入れておく入れ物(変数)を作ることができます。宣言と代入、参照は次のように行います。
1 2 3 4 5 6 7 8 9 |
//文字列型変数 s の宣言 String s; //変数 s に文字列を代入 s = "こんにちは"; //変数 s の表示 System.out.println(s); //また、宣言と代入(初期化)は同時に行うことが可能 String hello = "ハロー"; |
テキストフィールドからテキストを取得する際は「getText()」メソッド、テキストフィールドにテキストを入れる際は「setText()」メソッドを利用します。
1 2 3 4 |
//テキストフィールドのテキストを取得し、文字列型変数 s に代入 String s = [テキストフィールド名].getText(); //テキストフィールドに、指定のテキストを入れる [テキストフィールド名].setText("入力するテキスト"); |
テキストフィールドの主要なメソッドはこの2つです。それでは実行してみましょう。
テキストフィールド(textInput)に名前を入力し、「挨拶」ボタンを押すと、テキストフィールド(textOutput)に「こんにちは、○○さん!」と表示されます。なんともシュールなソフトウェアですが、こんなソフトウェアでも無事に動いた瞬間は嬉しいはずです(きっと)。
(2013年11月15日 加納徹)