広告

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
                      2010年12月04日

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

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


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


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

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

前回は、HumanResourceEntryPaneの編集の途中で、
「以下を入力してください。」というJLabelをGridBagLayout上の
2つのセルにまたがるように設定したところでした。

ではHumanResourceEntryPane.javaの編集画面(VEエディター)を
開いて編集を続けましょう。

「以下を入力してください。」というJLabelはデフォルトでは
中央(CENTER)に配置されていますので、これを西側(WEST)
つまり左側に配置させてみましょう。

VEエディター上で「以下を入力してください。」というJLabelクリッ
クすることによって選択し、プロパティー・ビューの中の「constraint」
の左側の小さい「+」ボタンをクリックし、その下にリストされる
「anchor」を選択します。

その右側に(「中央そろえ」という文字列の右側に)表示される小さい下向き
の矢印ボタン(三角形ボタン)をクリックして、リストの中から(下の方に
スクロールして)「WEST」を選択してEnterキーを押してください。

「以下を入力してください。」というJLabelが左揃えになって、同時に
2つのセルにまたがっていることもはっきりわかるようになりますね。

┌補足─────────────────────────┐
GUI部品が(GridBagLayoutなどの)レイアウト・マネジャーによっ
て管理されるコンテナーに貼り付けられている場合は、GUI部品
の配置はレイアウト・マネジャーの管理下に置かれることになり、
したがってレイアウト・マネジャーの制約(constraint)を受け
ることになります。
たとえば、GUI部品を配置する位置は上記の「anchor」のリスト
の中から選択する必要があります。上記の場合にリストされた
もの(「中央そろえ(CENTER)」や「WEST」など)はGridBagLayout
によって決められている選択肢です。
ちなみに「anchor」は元々は(船の)錨(いかり)の意味ですが、
ここではGUI部品をコンテナー上につなぎ止める位置のことを
意味します。
└───────────────────────────┘


それでは、今作っているHumanResourceEntryPaneを、少しは人事情報の
新規登録のための画面らしくするために、さらに入力域(JTextField)
やそのラベル(JLabel)を追加していきましょう。

下記のようなJLabelやJTextFieldを追加していってください。
追加の仕方は、前回の「社員番号」のJLabelやJTextFieldを貼り付けた
やり方と同じです。

(1) 以下のJLabelを追加する。

(1)-1. 貼り付けるセルは0列目の2行目(つまり「社員番号」の下)、
ラベルは「氏名」Bean名は「jLabel2」のまま。

(1)-2. 貼り付けるセルは0列目の3行目(つまり「氏名」の下)、
ラベルは「生年月日」Bean名は「jLabel3」のまま。


(2) 以下のJTextFieldを追加する。

(2)-1. 貼り付けるセルは1列目の2行目(つまり「氏名」の右側)、
Bean名は「jTextField1」のまま。

(2)-2. 貼り付けるセルは1列目の3行目(つまり、「生年月日」の右側)、
Bean名は「jTextField2」のまま。


そして、JLabelはすべてanchorをWESTに設定しましょう。

┌補足─────────────────────────┐
以下のようにすると、複数のGUI部品のanchorを一挙に設定できます。

(1) Ctrlキーを押しながら、GUI部品(ここでは、「社員番号」、
「氏名」、「生年月日」のJLabel)を一つずつクリックしていくと、
複数のGUI部品が同時に選択された状態(GUI部品の周囲にハンドル
(小さい四角形)が表示される)になります。
(正確に言うと、一つ目のGUI部品はCtrlキーを押さずにクリックし、
二つ目以降のGUI部品はCtrlキーを押しながらクリックします。)

(2) (1)によって複数選択されたGUI部品のいずれかを右クリックし、
「レイアウトのカスタマイズ」を選択します。(間違えて左クリック
してしまうと複数選択の状態が解除され、一つのGUI部品だけの選択
状態になってしまうので、間違えたら(1)からやり直すこと。)

(3) 「コンポーネント」タブの下の「アンカー」の中の西側のボタン
(「西」とも「WEST」とも書いてないが、位置から判断してください)
をクリックします。

(4) 「レイアウトのカスタマイズ」ウインドウは「閉じる」ボタン
(×マークのボタン)で閉じます。
└───────────────────────────┘

また、JTextFieldはすべて、前回と同じようにして、セルいっぱいに
幅を広げておいてください。
(これも上記の補足と同様にJTextFieldを複数選択にして一まとめに
行うことができます。)


では、ここでHumanResourceEntryPane.javaをいったん保管(Ctrl+S)し、
HumanResourceJFrame.javaの編集画面(VEエディター)を開きましょう。

HumanResourceJFrameのJPanelのレイアウトをCardLayoutにして、そこに
HumanResourceEntryPaneを貼り付けることにします。

はい。では、HumanResourceJFrameのお腹に張り付いているJPanelをクリ
ックして選択状態にしてください(あるいは「Java Beans」のリストの
中の「jContentPane」をクリックしてもよい)。

そしてプロパティー・ビューの中の「layout」プロパティーの値を
「CardLayout」にしましょう。

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

パレット(VEエディターの右側の「パレット」と書いてあるところ)の
中の「Beanの選択」をクリックします。

「Beanの選択」ウインドウが開きますので、
HumanResourceEntryPane
と入力(直接入力で)してください。
完全に入力しなくてもある程度入力しただけでも「一致する型」の欄に、
「HumanResourceEntryPane - jp.co.flsi.lecture.ui」というのが表示さ
れますから、それを選択(クリック)し、「OK」ボタンをクリックします。

JFrameのお腹のところ(そこに張り付いているJPanelのところ)にマウス・
ポインターを移動させ、クリックしてください。

Bean名を聞いてきますので、「humanResourceEntryPane」のままにして
「OK」ボタンをクリックしましょう。

「HumanResourceEntryPane」が張り付いたのが見えますね。

では、いったん保管(Ctrl+S)した後、HumanResourceJFrameを実行(パッケー
ジ・エクスプローラーのJStudy1の中のsrcの中のjp.co.flsi.lecture.uiの中の
HumanResourceJFrameを右クリック→「実行」→「Javaアプリケーション」)
してみましょう。

この実行によって開いたJFrameウインドウの幅を広げてみてください(面倒
くさい人は「最大化」ボタンをクリックして最大化してみてください)。

中のGUI部品の幅が全体のウインドウのサイズに合わせて自動的に変化しま
すね。


┌注意─────────────────────────┐
・・・と、Visual Editorで順調にアプリケーション開発ができ
るかのようにみえましたが、現行版のVisual Editorを使ってい
るうちにVisual Editorが以前よりもいっそう不安定になってい
ることに気づきました。これは実用的なアプリケーション開発
ツールとして採用するには致命的です。
 Visual Editorの次期版(1.5)も開発中ではありますが、あ
まり期待できないと考えられるため、当講座で推奨するプラグ
インからはずすことにしました。
 
 でもご安心下さい。
 
 実は現在、代わりに採用すべきとても強力なプラグインが
出現しているのです。
 
 WindowBuilder Pro GUI Designer
http://marketplace.eclipse.org/content/windowbuilder-pro-gui-designer

というのがそれです。

WindowBuilder Proは、昨年Eclipseファウンデーションから賞(Eclipse
Foundation's annual Community Awards)を受賞した強力なGUI開発
ツールであり、元々は有料の製品でしたが、そのメーカーである
Instantiations社が今年の8月にGoogle社に買収されたことにより、
無料のプロダクトとして提供されることになりました。
そして、EclipseのプラグインとしてのGUI開発ツールの中でも
飛び抜けて高い評判を得ています。

 という訳で、今後はこのプラグインに切り替えて記事を書いて
行く予定です。ご期待ください。

 ちなみに、これまでに作成してきたアプリケーションもその
ままWindowBuilder Proが読み取ってビジュアルなエディター上
に変換してくれますので、これまでの作業も無駄になりません。
└───────────────────────────┘


では、今日はここまでにします。

JFrameのウインドウを閉じ、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. 不許無断複製