Webアプリ開発エンジニアのための技術情報サイト「テックスコア」

4. レイアウト・マネージャー

4.1. レイアウト・マネージャー

Javaではコンポーネントを配置するとき、「レイアウト・マネージャー」がそれぞれの正確な位置を決める事になっています。ユーザはおおよその位置を示すだけで、細かい位置調整は全てレイアウト・マネージャーが面倒を見てくれることになっています。

これまでのサンプルで使用してきたレイアウトマネージャーは「java.awt.BorderLayout」でした。コンポーネントを追加するとき以下のようにしてきましたが、「getContentPane()」で返される「コンテナ」のデフォルトのレイアウトマネージャーが「BorderLayout」だったわけです。「コンテナ」とは他のコンポーネントを入れることのできるコンポーネントを意味しますが、後の章で説明する事にします。

getContentPane().add(label,BorderLayout);

ではBorderLayoutがどのようなレイアウトマネージャーか見てみることにしましょう。

import javax.swing.*;
import java.awt.*; public class BorderLayoutFrame extends JFrame{ public BorderLayoutFrame(){ super("Border Layout"); setDefaultCloseOperation(EXIT_ON_CLOSE); JButton north=new JButton("north"); north.setBackground(Color.blue); getContentPane().add(north,BorderLayout.NORTH); JButton west=new JButton("west"); west.setBackground(Color.yellow); getContentPane().add(west,BorderLayout.WEST); JButton center=new JButton("center"); center.setBackground(Color.gray); getContentPane().add(center,BorderLayout.CENTER); JButton east=new JButton("east"); east.setBackground(Color.red); getContentPane().add(east,BorderLayout.EAST); JButton south=new JButton("south"); south.setBackground(Color.green); getContentPane().add(south,BorderLayout.SOUTH); pack(); } public static void main(String args[]){ new BorderLayoutFrame().setVisible(true); } }

上のサンプルプログラムを実行した結果が下図です。

サンプルプログラム実行の図1-レイアウトマネージャ-

「BorderLayout」は最も単純なレイアウトマネージャの1つです。他にも幾つかレイアウトマネージャがあります。この章では「java.awt.FlowLayout」「java.awt.CardLayout」について説明します。

(実習課題1)

以下のプログラムを作成しなさい。

  • BorderLayoutの5つの領域に5つのラベル(JLabel)を配置する事。
  • それぞれのラベルのサイズを指定する事。サイズは任意。
  • またそれぞれのフォントの色を黒色以外の色にする事。色は任意。
  • (ヒント)「setForeground」メソッドを使用する。

解答例はこちら



前のページへ TECHSCOREのTOPページへ 次のページへ
TECHSCORE PR
PR
PR
PR
PR
PR

techscore(トップページへ)
TECHSCORE書店
TECHSCOREトップページJavaSQLXMLリッチクライアントモデリングセマンティックWebその他技術Tuigwaa