目次> 第5章 TOPUPPREVNEXT

第5章 四則演算

【目次】
  1. コマンド・ラインからの入力
  2. コマンドのパラメータと判断・分岐
  3. テキスト・フィールドへの入力
【テーマ】
前章までで、ウィンドウに自分の名前や住所など、あらかじめ決まっているものを表示できるようになりました。

今日は、2つの数を与え、それらの和、差、積、商を表示することを考えましょう。 プログラミングの第1歩は、計算手順とデータの切り離しから始まります。

「どんな2数に対しても答(和、差、積、商)を表示する」プログラムを作るのですが、簡単のために 次のことを前提にしましょう。

また、2数の与え方については、次の2通りを考えましょう。

5章のまとめ

【まとめ】

コマンドラインから実行する際に、データをあたえる方法(5.1節)、 例外の発生(5.1節)、 条件分岐(if文)による例外発生の回避(5.2節)、 テキスト・フィールド(5.3節)

【なんとなく解らない】

if文の書き方は、この章のもっとも重要な部分ですので、5.2節の説明と、 if文の解説 を復習しましょう。

結果が true か false になる式については、 2つの値を比較する演算子(次の6つ)をおぼえましょう。

<<=> >===!=

5.3の Compute4.java は長いプログラムですが、43行目以降は、 ラベルや、ボタン、テキストフィールドを順に貼り付けているだけですから、 順に根気よく追いかければ理解できます。 どうしてもダメなら、ここで表示された四角い枠を作るには、

new JTextField()
とやるのだ、という理解で次に行きましょう。

以下はおまけです。 気が向いたら、次章に行く前に寄り道をしてみてください。 後半の「おまけ 第2弾」の(クラス化)は10章に進んだときに、 (内部クラス)以降は19章に進んだときに読み返してみてください。

【ボタンを取りはずそう!】

テキスト・フィールドに数字をいれて、 おもむろにマウスでボタンをクリックする ―― という操作はまどろっこしいですね。

テキスト・フィールドのアクションリスナは、 「 Enter 」キーを監視してくれます。つまり、 テキスト・フィールドの入力中に、「 Enter 」キーが押された時 アクションリスナの actionPerformed メソッドを呼び出してもらえます。

テキスト・フィールドの切替えは、「 Tab 」キーでできます。 テキスト・フィールドにアクションリスナを付けておけば、 一連の操作にマウスが不要になります。

ボタンを押された時にすべきことは、ボタンのアクションリスナに 記述ずみですから、(おなじアクションリスナなので、そのまま) テキスト・フィールドのリスナにしてしまうことができます。

通常、上の欄に数字をいれ、タブ・キーをおし、下の欄に数字をいれ、 エンター・キーをおす という操作をすると想定し、 下の欄( area2 )にアクションリスナをつけました。 プログラムを短くしたいので、 Compute4.java の表示を2数の和と差のみにしたものを もとに説明をします。

和と差を表示するプログラム TextFieldDemo.java

実行例  TextFieldDemo-1.gif

ボタンを取りはずしたプログラム TextFieldDemo2.java

行番号つきプログラム・リスト(変更箇所を赤字で示します)

実行例  TextFieldDemo-2.gif

【以下、おまけ第2弾】

上の欄でも、下の欄でも、エンター・キーを効かせるには、同じアクションリスナを area1 にもぶらさげてしまいましょう。 28〜35行目をコピー・アンド・ペーストで24行目以降にコピーし、25行目の area2area1 に変更するだけです。

上下2欄にアクションリスナを登録したプログラム TextFieldDemo3.java

同じアクションリスナが2ヶ所にぶらさがって醜いと感じるかたのために、

これらはプログラムのつくりが違うだけで、実行結果は TextFieldDemo3.java と同じです。プログラム・リストの赤字による変更箇所は、 TextFieldDemo3.java との比較です。


更新日:2003-05-21