プログラミング応用b 第11回 『GUIその1 (AWT/Swingによるウィンドウのデザインと生成)』 |
【Swingの基本ウィンドウ】
では,次にSwingの基本的なウィンドウを見てみましょう。SwingにはJFrame,JWindow,
JDialogという,AWTのFrame,Window,Dialogの改良版があります。Swingでは,AWT
のクラスを改良したクラスに対して,JFCの頭文字のJをつけて区別しているのです。Swing
の機能を使う場合には,必ずSwingの基本ウィンドウを使うようにしてください。
List 1をSwingを使って書き換えたのが,List 2です。List 2-①では,javax.swingパッ
ケージをインポートしています。
List 2 SwingWindows.java
●JFrame型ウィンドウ
List 2-②〜④は,List 1-②〜④に相当する部分で,List 1がFrame型ウィンドウ
を生成・表示していたのに対して,List 2-②〜④では,JFrame型ウィンドウを生成・
表示しています。
List 2を実行すると,Frame型ウィンドウ(Fig.1)と全く同じように,タイトルバーを持つ
(OSによってはボーダを含む)標準的なウィンドウが表示されます。ちょっとした違いとして
は,Swingのウィンドウでは,タイトルバーにあるクローズボックスをクリックすると,ウィ
ンドウが閉じることです。実際に確かめてみてください。
●JWindos型ウィンドウ
List 2-⑤は,List 1-⑤に相当するところで,List 1-⑤がWindow型ウィンドウを生
成・表示していたのに対し,List 2-⑤ではJWindow型ウィンドウを生成・表示しています。
List 2-⑤の部分を有効にしてList 2を実行すると,Fig.2のWindow型ウィンドウの外観と
同じように,空白のJWindow型ウィンドウが表示されます。
WindowとJWindowのちょっとした違いとしては,Windowがサブウィンドウ用のために
オーナーを指定しなければならないのに対して,JWindowはメインウィンドウとしても使え
るようになたっためにオーナーを指定しなくても生成できることがあげられます。List 2-⑤
でも,オーナーを指定せずにJWindow型オブジェクトwを生成しています。
●JDialog型ウィンドウ
List 2-⑥は,List 1-⑥に相当します。List 1-⑥がDialog型ウィンドウを生成・表示
していたのに対し,List 2-⑥ではJDialog型ウィンドウを表示・生成しています。List 2-⑥
を有効にしてList 2を実行すると,Fig.3のDialog型ウィンドウと同じ外観のJDialog型ウィン
ドウが表 示されます。
次は, ボタンなどの代表的なGUI部品(コンポーネント)と,それらを含むコンテナ,また部品のレイアウトの仕方について紹介する。
次に進む