始める前に、
『』を完了しておく必要があります。
この課題では、Java ビジュアル・エディター を使用して、JScrollPane と JTable をアプリケーションに追加します。
後にある課題では、会社の登録簿にあるすべての従業員のリストを戻す Web サービスからデータを取得するように JTable をプログラムします。
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 のセル上に移動する。

- グリッド上でマウス・ポインターを移動しているときに、
マウス・ポインターの位置に応じて、グリッドでの X 座標と Y 座標を知らせる
2 つの番号付きの四角をマウス・ポインターが示します。
- マウス・ポインターをグリッド枠の上で直接移動すると、
新しい行と列を作成することができ、既存の行と列に再番号付けが行われます。
この場合、マウス・ポインター上の黄色の四角、グリッド間の黄色のバー、
黄色の列と行のラベルがこの動作を示し、そこへの位置付けの影響を指摘します。
- 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 ファイルを保管する。
これで、『』を開始する準備が完了しました。