この課題を始める前に、
「」を完了してください。
この課題では、Java ビジュアル・エディター を使用して、JScrollPane と
JTable をアプリケーションに追加します。
後に実行する課題では、JTable をプログラムして、Web サービスからデータを取得します。
これにより、会社の登録簿にあるすべての従業員のリストが戻されます。
JTable を追加すると、Java ビジュアル・エディター のデザイン・ビューを使用して、
JTable のレイアウトを次の指定に一致するようにカスタマイズします。
- JTable を横方向に 3 セル、縦方向に 2 セル拡大する。
- 15 ピクセルの左側インセットを追加する。
- JTable を employeesTable に名前変更する。
Java ビジュアル・エディターを使用して DirectoryApp.java ファイルを開く
Java ビジュアル・エディターを使用して DirectoryApp.java ファイルを開くには、以下の手順を実行します。
- Java パースペクティブの「パッケージ・エクスプローラー」ビューを使用して、
MyDirectory プロジェクトと directory.client パッケージを展開する。
- DirectoryApp.java ファイルを右マウス・ボタンでクリックして、「アプリケーションから開く」
>「ビジュアル・エディター」を選択する。
Java ビジュアル・エディターにより、Java クラスがロードされ、デザインがグラフィック・キャンバス域に表示されます。
設定:
- Java ビジュアル・エディターで使用するルック・アンド・フィールを変更するには、「ウィンドウ」
>「設定」>「Java」>「ビジュアル・エディター」の順に選択し、
「Swing ルック・アンド・フィール」を指定する。
この設定は、次にこのクラスを開いたときに有効になります。
このチュートリアルでは、Windows のルック・アンド・フィールを使用します。
- すべての Java ファイルについてこのビジュアル・エディターをデフォルト・エディターにするには、
「ウィンドウ」 >「設定」をクリックして、
「ワークベンチ」>「ファイルの関連付け」ページに進み、設定を定義する。
JTable を JScrollPane に追加する
DirectoryApp.java のメイン・ウィンドウでは、メイン・コンテンツ・ペインに JFrame と JPanel を使用します。
このアプリケーションでは、JPanel は jContentPane という名前です。
jContentPane は、GridBagLayout という名前のレイアウト・マネージャー・タイプを使用するように設定されています。
GridBagLayout は強力なレイアウト機能があり、
セルのグリッドをベースにして、ビジュアル・コンポーネントを埋め込むことができます。
Java ビジュアル・エディター では、グリッド枠が表示されるので、
GridBagLayout の作業が簡単です。
また、グリッドに新しいコンポーネントをドロップすると配置マーカーが表示されます。
コンポーネント上にハンドルが表示されて、
GridBagLayout 上でコンポーネントのサイズ変更または移動ができます。
従業員のテーブル (javax.swing.JTable) を DirectoryApp.java ユーザー・インターフェースに追加するには、
次の手順を実行します。
- デザイン・ビューまたは Java Bean ビューで、jContentPane を右マウス・ボタンでクリックして、
「グリッドの表示」を選択する。
赤色の点線はグリッド枠を示し、数値がついた青色の丸印は行番号と列番号を示します。
例えば、「新規」ボタンは、行 1 (Y 軸グリッド)、列 3 (X 軸グリッド) のセルにあります。

- Java ビジュアル・エディター のパレットで、「JScrollPane 上の JTable」
の Swing コンポーネントを選択する。
これは、パレットの「Swing コンポーネント」ドロワーに分類されています。
ヒント: デフォルトでは、このパレットはデザイン域の右側に縮小表示されます。
このパレットをサイズ変更したり、移動させたりできます。
- マウス・ポインターを以下のようにグリッドの列 0、行 1 のセル上に移動する。

- グリッド上でマウス・ポインターを移動すると、
ポインターの位置に、番号で含まれた四角形が 2 つ表示されます。
これはマウス・ポインターの位置を X 座標と Y 座標で示しています。
- マウス・ポインターをグリッド枠の上で直接移動すると、
新しい行と列が作成されて、既存の行と列に再番号付けが行われます。
この場合、マウス・ポインター上の黄色の四角形、グリッド間の黄色のバー、黄色の列と行のラベルがこの動作を示し、
そこにドロップした場合の影響を指摘します。
- JScrollPane を左マウス・ボタンでクリックして、JTable を列 0、行 1 のセルに以下のようにドロップする。

JScrollPane と JTable をグリッドの複数の列と行に拡大する
ここでは、JScrollPane (子の JTable も含む) を 3 列 2 行に拡大して、スペーシングとサイズ変更動作を改善します。
テーブルを複数の列と行に拡大するには、次の手順を実行します。
- デザイン域または「Java Bean」ビューで、JScrollPane を選択する
(これは追加したばかりなので、まだ選択されたままになっているはずです)。
JScrollPane の右と下に、小さな緑色の四角形があることに注目してください。
このサイズ変更ハンドルを使用し、JScrollPane をドラッグして、複数の列と行に拡大します。
- JScrollPane の右側にある緑色のハンドルを左マウス・ボタンをクリックして、押したままにする。
- マウス・ポインターを右方向にドラッグして、マウス・ポインターの位置を列 2、行 1 にする。
ダーク・グレーのシャドーは、マウス・ボタンを放したときにコンポーネントが占有するセルの位置を示しています。

- マウス・ボタンを放す。
これで、JScrollPane が 3 列に拡大されました。
- 同様の手順を繰り返して、JScrollPane の下にあるハンドルをドラッグし、以下のように JScrollPane
を 2 行に拡大する。

JScrollPane の余白を GridBag 内でカスタマイズする
GridBagLayout マネージャーのもう 1 つの機能として、
さまざまな制約を指定して、レイアウトをカスタマイズできます。例えば、以下の制約を指定できます。
- アンカー: セルの中で、コンポーネントにアンカー方向を指定できます。
これは、ユーザーがアプリケーションのサイズ変更をしたときのコンポーネントの移動方式に作用します。
例えば、コンポーネントのアンカー位置を左上、中央左、中央、または右下に設定できます。
- 塗りつぶし: コンポーネントがすべての利用可能な場所を占有するように指定できます。
1 つのセル、または水平方向、垂直方向、またはその両方向の複数のセルを指定できます。
- インセット: コンポーネントには、上、下、左、右に、固有の埋め込みを行い、
コンポーネントとグリッドの端の間に余白をつけることができます。
JScrollPane のアンカー、塗りつぶし、およびインセットをカスタマイズするには、次の手順を実行します。
- デザイン・ビューまたは Java Bean ビューで、JScrollPane を右マウス・ボタンでクリックして、
「レイアウトのカスタマイズ」を選択する。

ヒント: 別のコンポーネントのレイアウトを選択して変更しているときに、
「レイアウトのカスタマイズ」ダイアログ・ボックスを開いたままにしておくことができます。
「レイアウトのカスタマイズ」ダイアログ・ボックスは、
以下のようにメニュー・バーの「レイアウトのカスタマイズ」ボタンをクリックして、いつでも開くことができます。

- 「レイアウトのカスタマイズ」ダイアログ・ボックスにある「コンポーネント」タブの「アンカー中央」ボタンが押されていることを確認する。
- 「水平方向の塗りつぶし」ボタンと「垂直方向の塗りつぶし」ボタンの両方が押されていることを確認する。
- アプリケーションにある他のビジュアル・コンポーネントと同様に、JScrollPane
の左側に 15 ピクセルの左インセットを追加して余白を作る。

テーブルを、例えばフィルター・ラベルの位置に合わせます。

新規の JTable を便利な値に名前変更して、単一行を選択するように設定する
後でこのテーブルの作業をするので、JTable インスタンスとこのインスタンスの
getter メソッドの名前を変更しておくと便利です。このテーブルの名前を変更するには、以下の手順を実行します。
- 「Java Bean」ビューで、jTable コンポーネントを右マウス・ボタンでクリックし、
ポップアップ・メニューから「名前変更フィールド」を選択する。

- employeesTable と入力して、「OK」をクリックする。
これで、JTable の名前が employeesTable となり、
これをインスタンス化するメソッドの名前は getEmployeesTable となりました。
テーブルで単一行だけを選択できるように設定するには、次のようにします。
- デザイン・ビューで、「employeesTable」を選択する。
- 「プロパティー」ビューで、「selectionMode」プロパティーを選択し、これを「SINGLE_SELECTION」に設定する。

- DirectoryApp.java ファイルを保管する。
これで、「」を始める準備ができました。