このページでは、第2章で紹介したプログラムを実際に実行した結果を参照できるようにしておきました。これらのアプレットのソースファイルについては、最初のページでダウンロードしてください。書籍の中では、そこでのトピックとは関係のないことをなるべく見えないようにするために、プログラムの一部分だけを紹介している場合が多くなっています。一方、実際に動かすプログラムでは、そのトピックには直接関係ないことはもちろん、さらに結果を画面に出すためのプログラムなども追加されています。
結果的に、ここで示すプログラムのソースと、第2章の本文中のソースとは完全に一致するものではありません。特に、本文ではソースの一部を変更した結果を示す場合、単に修正した結果を示しています。しかし、このホームページでは、修正した結果を別のアプレットとして示しているので、クラス名の重複がないように修正したソースでは異なるクラス名にしています。
このページで提供するのは、書籍の内容を理解する上での参考にしていただくためのもので、書籍の内容をそのまま提供することを目的にしたものではありません。あくまで、とにかく動いて、意図したい結果が画面で確認できることをねらったものです。また、ソース中にはコメントを入れていませんので、書籍の該当する説明を参照しながらリストを見てください。
このアプレットは、クラス定義からオブジェクトのインスタンスを生成するということのサンプルです。財布の中味というある程度具体的なものを提示しています。ソースは、Watcher1.javaです。書籍との違いは、クラス名がWatcher、Purseではなく、Watcher1、Purse1となっています。また、作成したオブジェクトのインスタンス変数やメソッドの結果を、アプレット上に表示しています。スクロールして参照してください。
実行結果
このアプレットは、財布の中身を管理するという前のサンプルに、staticキーワードで定義した変数を加えた結果を示しています。staticによるクラス変数は、オブジェクトごとに管理されるのではなく、共通に管理されているのです。ソースは、Watcher2.javaです。書籍との違いは、クラス名がWatcher、Purseではなく、Watcher2、Purse2となっています。また、作成したオブジェクトのインスタンス変数やメソッドの結果を、アプレット上に表示しています。スクロールして参照してください。
実行結果
文字列処理のサンプルです。Stringクラス、そしてStringBufferクラスの使い方がポイントです。ソースは、StringTest.javaです。書籍との違いは、まとまったアプレットになっていることと、本文中で示したいくつかのサンプルをまとめたところです。また、変数の値を、アプレット上に表示しています。スクロールして参照してください。
実行結果
Graphicsクラスのメソッドを利用した、グラフィックス描画のサンプルです。ソースは、GraphicTest.javaです。書籍との違いは、まとまったアプレットになっていることと、処理内容を増やしたことです。書籍では赤い丸の書き方だけを示しましたが、ここでは、フォントを指定して文字列を描画することや、立体長方形の描画も含めました。
実行結果
AWTで定義されているコントロールの使い方を示すサンプルです。このアプレットは既定値のFlowLayoutを利用して、ラベル、テキストフィールド、ボタンの3つのコントロールを配置しています。ソースは、Controller1.javaです。書籍との違いは、クラス名をController1にしていることです。
実行結果
AWTで定義されているコントロールの使い方を示すサンプルです。このアプレットはGridLaoutを利用して、ラベル、テキストフィールド、ボタンの3つのコントロールを配置しています。グリッドの分割よりもコントロールの数が大幅に少ないために、指定したグリッド分割とはやや違う結果になります。ソースは、Controller2.javaです。書籍との違いは、クラス名をController2にしていることです。
実行結果
AWTで定義されているコントロールの使い方を示すサンプルです。このアプレットはGridLaoutを利用して、ラベル、テキストフィールド、ボタンの5つのコントロールを配置しています。前のプログラムにボタンを4つ増やしてグリッドの分割数に近い数のコントロールを配置したところです。ソースは、Controller3.javaです。書籍との違いは、クラス名をController3にしていることです。
実行結果
AWTで定義されているコントロールの使い方を示すサンプルです。このアプレットはレイアウト機能を利用しないでコントロールをアプレット上に配置しています。ソースは、Controller4.javaです。書籍との違いは、クラス名をController4にしていることです。
実行結果
チェックボックスの使い方を説明したサンプルです。ソースは、Controller5.javaです。書籍との違いは、クラス名をController5にしていることです。
実行結果
リストコントロールの使い方を説明したサンプルです。ソースは、Controller6.javaです。書籍との違いは、クラス名をController6にして、さらにまとまったアプレットにしていることです。また、左側のリストで選択処理を行うと、右側のテキストエリアに選択されている項目についての内容が表示されます。複数の項目を選択できるようにしていますが、そのときのgetSelectedItemと、getSelectedItemsの内容の違いをアプレット上に表示しました。
実行結果
Panelクラスの使い方を説明したサンプルです。ソースは、PanelTest.javaです。
実行結果
サブクラスの定義についてのサンプルです。ここでは、サブクラスでメソッドのオーバーライドがどのように行われるかを示しています。ソースは、ClassTest1.javaです。書籍との違いは、クラス名がClassTestではなく、ClassTest1となっています。また、作成したオブジェクトのインスタンス変数を、アプレット上に表示しています。
実行結果
サブクラスの定義についてのサンプルです。サブクラスでメソッドのオーバーライドと多重継承の関連を示すものです。ソースは、ClassTest2.javaです。書籍との違いは、クラス名がClassTestではなく、ClassTest2となっています。さらに、クラスAはAz、クラスBはBzという名前になっています。作成したオブジェクトのインスタンス変数を、アプレット上に表示しています。
実行結果
サブクラスの定義についてのサンプルです。サブクラスのメソッドからスーパークラスのメソッドを呼び出す方法を示すものとなっています。ソースは、ClassTest3.javaです。書籍との違いは、クラス名がClassTestではなく、ClassTest3となっています。さらに、クラスAはAy、クラスBはByという名前になっています。作成したオブジェクトのインスタンス変数を、アプレット上に表示しています。
実行結果
サブクラスの定義についてのサンプルです。サブクラスのコンストラクタでは、スーパークラスのコンストラクタが自動的に呼び出されることを示すサンプルです。ソースは、ClassTest4.javaです。書籍との違いは、クラス名がClassTestではなく、ClassTest4となっています。さらに、クラスAはAx、クラスBはBxという名前になっています。作成したオブジェクトのインスタンス変数を、アプレット上に表示しています。
実行結果
サブクラスの定義についてのサンプルです。サブクラスのコンストラクタでは、スーパークラスのコンストラクタが自動的に呼び出されることを示すサンプルです。ソースは、ClassTest5.javaです。書籍との違いは、クラス名がClassTestではなく、ClassTest5となっています。さらに、クラスAはAq、クラスBはBqという名前になっています。作成したオブジェクトのインスタンス変数を、アプレット上に表示しています。
実行結果
HTML文書からのパラメータをアプレットで受け取る方法を示すサンプルです。ソースは、ParamTest.javaです。書籍との違いは、まとまったアプレットになっていることで、受け取ったパラメータの値をアプレット上に表示しています。
実行結果