広告

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
                      2010年11月28日

    Java総合講座 - 初心者から達人へのパスポート
                  2009年11月開講コース 031号

                                セルゲイ・ランダウ
 バックナンバー: http://www.flsi.co.jp/Java_text/
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■


-------------------------------------------------------
・現在、このメールマガジンは以下の2部構成になっています。
[1] 当初からのコース:vol.xxx(xxxは番号)が振られています。
   これは現在、中級レベルになっています。
[2] 2009年11月開講コース:xxx号(xxxは番号)が振られています。
   これは現在、初心者向けのレベルになっています。
・このメールマガジンは、画面を最大化して見てください。
小さな画面で見ていると、不適切な位置で行が切れてしまう
など、問題を起すことがあります。
・このメールマガジンに掲載されているソース・コード及び
文章は特に断らない限り、すべて筆者が著作権を所有してい
ます。また、これらのソース・コードは学習用のためだけに
提供しているものです。
-------------------------------------------------------


========================================================
◆ 01.データベースを使用するアプリケーションの開発(続き)
========================================================

今日は、GridBagLayoutの使い方を説明します。

まずは、Eclipseを起動してください。

VisualEditorで、コンテナーのクラスを一つ編集することにしま
しょう。

(1) パッケージ・エクスプローラーの中のJStudy1(プロジェクト)の
配下のsrcの配下のjp.co.flsi.lecture.ui(パッケージ)を右クリック
します。

(2) 「新規」→「その他」を選択します。

(3) 「Java」の中の「ビジュアル・クラス」を選択し、「次へ」ボタンを
クリックします。

(4) 「ソース・フォルダー」に「JStudy1/src」(JStudy1はプロジェクト名)、
「パッケージ」に「jp.co.flsi.lecture.ui」が入力されていること
を確認し、「名前」の欄に

HumanResourceEntryPane

と入力しましょう。

(5) 「修飾子」は「public」が選択されていることを確認し、
「スタイル」の中から「タブ付きペイン」を選択してください。

(6)「スーパークラス」が「javax.swing.JTabbedPane」になっている
ことを確認し、(「public static void main(String[] args)」には
チェックマークは入れません)、「完了」ボタンをクリックします。

HumanResourceEntryPane.javaの編集画面になりますね。

上記の(5),(6)でスーパークラスとして指定したJTabbedPaneがビジュ
アルに表示されますが、前回のJFrameと違ってタイトル・バーなどが
ない、ただの(真っ黒な)矩形(真っ黒な四角形)になります。

JTabbedPaneというのはタブ付きの平板のようなGUI部品です。
でも、まだタブは見えていませんね。

では、このJTabbedPaneの中にJPanelを貼り付けてみましょう。

右側のパレットの中の「Swingコンテナー」の中のJPanel
をクリックし(「Swingコンテナー」の部分をクリックするとその下に
コンテナー類のGUI部品のリストが現れるのでその中から「JPanel」を
クリックする)、JTabbedPane(矩形)の中をクリックしましょう。

┌補足─────────────────────────┐
 パレットの中のGUI部品をクリックするときに、間違えて別のGUI部品
 をクリックしてしまった時は、パレットの一番上にある「選択」をクリック
 すれば、選択状態を解除(リセット)できます。
└───────────────────────────┘

Bean名(Bean名とは何か、については後述)を聞いてきたら、そのまま
(jPanelのまま)「OK」ボタンをクリックします。

JTabbedPaneの中にJPanelが張り付くと同時に上にタブのようなもの
が表示されますね。

では、このタブに文字を表示させてみましょう。

JTabbedPaneの中に張り付いたJPanelをクリックすることによって
選択状態にし、「プロパティー」タブをクリックすることによって、
「プロパティー」ビューを表示しましょう。
(「プロパティー」タブの下に表示される、プロパティーの
リストの表示域をプロパティー・ビューといいます。)

プロパティーのリストの中の「タブ・タイトル」というプロパティーを
クリックして、その右側の入力域に「新規登録」という文字列を入力して
みてください。

上のVEエディターの画像を見るとJTabbedPaneのタブに「新規登録」という
文字列が表示されますね。


では、JTabbedPaneの中に張り付いているJPanelのレイアウト・マネ
ジャーをGridBagLayoutにしてみましょう。

JPanelの中をクリックすることによって、このJPanelを選択状態にし、
「プロパティー」タブをクリックします。

前回と同様に操作して「layout」プロパティーを指定しますが、今度は
nullではなく「GridBagLayout」に設定します・・・
・・・と言いたいところですが、デフォルトで「GridBagLayout」になっ
ていることと思いますので、そのまま利用します。

GridBagLayoutは格子(grid)状にGUI部品を貼り付けていくことができ
るコンテナーですから、これから実際にGUI部品を貼り付けていきましょう。

実は現在のJPanelは、人事情報(会社の社員の情報)の新規登録用の
画面を想定して用意していますので、それらしくなるようにGUI部品を
貼り付けていきます。

まず、パレットの「Swingコンポーネント」の中のJLabelをクリックし、
マウス・ポインターをVEエディターのJPanelの中に移動すると、「00」
が表示されますね。これは格子上の0列目の0行目にGUI部品(今はJLabel)
を貼り付けようとしていることを意味します。

そのままクリックしてください。

Bean名(後述)を聞いてきますので、デフォルトの「jLabel」のまま
にして「OK」ボタンをクリックしてください。

そこにJLabelが張り付きますので、張り付いたJLabelをクリックしてくだ
さい。

(予め選択状態になっているものを再度クリックするとラベルの入力状態
になりますので、)ここで、「以下を入力してください。」と入力してく
ださい。入力の最後にはEnterキーを押します。

JPanelの中央あたりに、「以下を入力してください。」という文字列が
表示されますね。
JLabelはラベル(文字列)を表示するだけのためのGUI部品です。

では、同様にして再度、パレットからJLabelを選択し、先ほどの「以下
を入力してください。」というJLabelの下にマウス・ポインターを移動
してください。

今度は、、「01」が表示されますね。これは格子上の0列目の1行目にGUI部品
(今はJLabel)を貼り付けようとしていることを意味します。

そのままクリックしてください。

Bean名(後述)を聞いてきますが、今度は、デフォルトが「jLabel1」に
なっていますね、Bean名には既に使っている名前を重複して使用すること
ができないので、VisualEditorが自動的に後ろに数字をつけて同じ名前になら
ないようにしてくれるのです。

このデフォルトの名前のままで、「OK」ボタンをクリックしてください。

今張り付いたJLabelを再度クリックしてラベルを入力しましょう。
今度のJLabelには、「社員番号」という文字列を入力しましょう。

今度は、パレットから「JTextField」を選択し、先ほどの「社員番号」という
JLabelの右側にマウス・ポインターを移動してください。

「11」という数字が表示されますが、もう言うまでもなく1列目の1行目を意味
することはおわかりですね。そこでクリックしてください。

Bean名(後述)を聞いてきますので、デフォルトの「jTextField」のまま
にして「OK」ボタンをクリックしてください。

JTextFieldはテキスト・フィールド、すなわち文字列を入力するためのGUI部品
ですが張り付いたときのデフォルトの状態では、入力域の幅が締まった形態
(いわば縦棒のような形態)になっています。

というわけで、入力域の幅を広げましょう。
この張り付いたJTextFieldを右クリックし(やりずらい場合は、「Java Beans」
タブの下のリストの中の「jTextField」を右クリックしてもよい)、
「レイアウトのカストマイズ」を選択します。

「レイアウトのカストマイズ」ウインドウが開きますので、その中の
「コンポーネント」タブをクリックし、右端の「塗りつぶし」欄の中の
横棒のアイコンのボタンをクリックすると、JTextFieldがセル(格子のマス目)
いっぱいに広がります。

(「レイアウトのカストマイズ」ウインドウは「閉じる」ボタン(×マークのボタン)
をクリックすることによって閉じます。)

では、次に先ほど貼り付けておいた「以下を入力してください。」という
JLabelを2つのセルにまたがって広げるようにしましょう。

「以下を入力してください。」というJLabelを右クリックし、)、
「レイアウトのカストマイズ」を選択します。

「レイアウトのカストマイズ」ウインドウの中の「コンポーネント」タブをクリックし、
下のほうにある「幅」欄の中の「幅」の数字を「2」にしてください。すると、
このJLabelの幅が右側のセルまで合計2つのセルにまたがって広がります。
(マウスで図形をビジュアルに操作することで設定する方法もあります。)

一見、JLabelが右のセルに移動しただけのように見えるかも知れませんが、
実際には2つのセルにまたがっています。

(「レイアウトのカストマイズ」ウインドウは「閉じる」ボタン(×マークのボタン)
をクリックすることによって閉じます。)


では、今日はここまでにします。
いったん保管(Ctrl+S)してからEclipseを終了してください。

(続く・・・)


では、また来週。



┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
★ホームページ:
      http://www.flsi.co.jp/Java_text/
★このメールマガジンは
     「まぐまぐ(http://www.mag2.com)」
 を利用して発行しています。
★バックナンバーは
      http://www.flsi.co.jp/Java_text/
 にあります。
★このメールマガジンの登録/解除は下記Webページでできます。
      http://www.mag2.com/m/0000193915.html
★このメールマガジンへの質問は下記Webページにて受け付けて
 います。わからない所がありましたら、どしどしと質問をお寄
 せください。
      http://www.flsi.co.jp/Java_text/
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Copyright (C) 2010 Future Lifestyle Inc. 不許無断複製