TOP →
Java →
Swing →
LayoutManager → This Page
OverlayLayout@Swing LayoutManagerサンプル
概要
Java -
Swing -
LayoutManager -
OverlayLayout のサンプルです。
OverlayLayout は CardLayout と同様に、
同領域に複数コンポーネントを重ねてセットする場合に使います。
しかし、CardLayout と違って全てのコンポーネントを同時に表示します。
コンストラクタ
コンストラクタ | 説明 | 引数 | 引数説明 |
OverlayLayout(Container target) |
OverlayLayout を作成 |
target |
配置先コンテナ |
解説
サンプルを実行すると以下の図のようになります。

分かりにくいかもしれませんんが重なって表示されています。
サンプルソース
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.OverlayLayout;
/**
* LayoutManager サンプル07
* ・OverlayLayout
*
* @author みっちー
*/
public class LayoutManager07 extends JFrame {
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args){
LayoutManager07 frame = new LayoutManager07();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("LayoutManager サンプル07[OverlayLayout]");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 500, 120);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public LayoutManager07() {
// ベースとなるパネルを[OverlayLayout]として作成
JPanel panelBase = new JPanel();
OverlayLayout layout = new OverlayLayout(panelBase);
panelBase.setLayout(layout);
// パネル
JPanel panel = new JPanel();
panel.add(new JLabel("パネル"));
panel.setOpaque(false);
// ラベル
JLabel label = new JLabel("ラベル");
// ボタン
JButton button = new JButton("ボタン");
// テキスト
JTextField text = new JTextField("テキスト");
// パネルを追加
panelBase.add(panel, "1");
panelBase.add(label, "2");
panelBase.add(button, "3");
panelBase.add(text, "4");
// パネルを追加
getContentPane().add(panelBase, BorderLayout.CENTER);
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/05/13 Windows 8.1 + Java 7 環境で全体を見直し
2007/12/07 新規作成
TOP →
Java →
Swing →
LayoutManager → This Page