レイアウトマネージャ
[Wikipedia|▼Menu]

レイアウトマネージャ(: Layout manager)は、ウィジェット・ツールキットで使われるソフトウェアコンポーネントであり、距離単位を使わずにウィジェット群を相対位置に基づいて配置する機能を持つ。

多くのウィジェット・ツールキットはデフォルトでこの機能を備えており、ピクセル単位などの距離単位を使って(画面全体の)絶対座標や(親ウィンドウの)相対座標で配置を定義するよりも自然な配置が可能である。この機能によって、ウィジェット・ツールキットは2種類に分類できる。

配置方法が特殊なグラフィックコンテナとしてコード化されているもの。XUL.NET Framework のウィジェット・ツールキット(Windows FormsXAML)がこれに当たる。

配置方法がレイアウトマネージャとしてコード化されており、それを任意のグラフィックコンテナに適用可能なもの。Java API の一部である Swing がこれに当たる。

XUL の例

vbox コンテナ上で各種コンポーネントを積み重ねることができる。<?xml version="1.0"?><?xml-stylesheet href="chrome://global/skin/" type="text/css"?><window id="vbox example" title="Example" xmlns:html="http://www.w3.org/1999/xhtml"xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><vbox> <button id="yes" label="Yes"/> <button id="no" label="No"/> <button id="maybe" label="Maybe"/></vbox></window>

このようなコードで3つのボタンが vertical box 内で互いに積み重なった状態となる。
Java Swing の例

FlowLayout レイアウトマネージャは、例えば文章を構成する語句のように、流れ(flow)に沿ったコンポーネント配置を行う。横幅に入るだけ水平方向にコンポーネントを(左から右へ)並べていき、いっぱいになると下に新たな行としてコンポーネントを配置していく。import javax.swing.JFrame;import javax.swing.JButton;import java.awt.FlowLayout;import java.awt.Container;public class LayoutExample extends JFrame { public LayoutExample() { this.setTitle("FlowLayoutDemo"); // get the top-level container in the Frame (= Window) Container contentPane = this.getContentPane(); // set the layout of this container contentPane.setLayout(new FlowLayout()); // add buttons in this container this.add((new JButton("Button 1"))); this.add((new JButton("Button 2"))); this.add((new JButton("Button 3"))); this.add((new JButton("Long-Named Button 4"))); this.add((new JButton("5"))); // unrelated, exit the application when clicking on the // right close-button this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } public static void main(String[] args) { LayoutExample example = new LayoutExample(); example.setVisible(true); }}

このコードでは、以下のように5つのボタンを同じ行に順に配置した状態となる。


XAML の例

DockPanel コンテナは、子コンポーネントをその Dock 属性に従って配置する。<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" WindowTitle="myDock Panel"> <DockPanel> <TextBlock DockPanel.Dock="Top">Top 1</TextBlock> <TextBlock DockPanel.Dock="Top">Top 2</TextBlock> <TextBlock DockPanel.Dock="Top">Top 3</TextBlock> <TextBlock DockPanel.Dock="Top">Top 4</TextBlock> </DockPanel></Page>

このコードでは、4つのテキストブロックが互いに上になるように配置される。
外部リンク

layout tutorial on SUN website


xul tutorial on xulplanet レイアウトについては、3章と4章

Layout Manager Showdown on java.net

関連項目










GUIウィジェット
コマンド入力

ボタン

コンテキストメニュー

メニュー

パイメニュー

ハンバーガーボタン

データ入出力

チェックボックス

コンボボックス

トグルボタン(英語版)

ドロップダウンリスト

グリッドビュー(英語版)

リストボックス(英語版)

リストビルダー(英語版)

ラジオボタン

スクロールバー

スライダー

スピンボタン

テキストボックス

検索ボックス

デートピッカー(英語版)

カラーピッカー(英語版)

表示

サイドバー(英語版)

Windows デスクトップ ガジェット


バルーンヘルプ(英語版)

ヘッドアップディスプレイ (コンピュータゲーム)

ヘッドマウントディスプレイ (コンピュータゲーム)

アイコン

バナー

情報バー(英語版)

ラベル (コントロール)(英語版)

ロード (コンピュータゲーム)

ロード画面

進捗インジケータ

プログレスバー

スローバー(英語版)

スプラッシュスクリーン

スピニングピンホイール(英語版)


ステータスバー

トースト(英語版)

ツールチップ

コンテナ

アコーディオンメニュー(英語版)

ツリーメニュー(英語版)

折り畳み

フレーム/フィールドセット(英語版)

メニューバー

パネル(英語版)

ポップオーバー (GUI)(英語版)

リボン

ツールバー

タブ

タイトルバー

ウィンドウ

クライアントサイド・デコレーション

ナビゲーション

アドレスバー

パンくずリスト

ハイパーリンク

ナビゲーションペイン (ナビゲーションウィンドウ)(英語版)

ページャ (ページネーション)

特殊ウィンドウ

ダイアログボックス

メッセージボックス

バージョン情報ダイアログボックス(英語版)

ファイルダイアログ(英語版)

インスペクターウィンドウ(英語版)


モーダルウィンドウ

パレットウィンドウ(英語版)

関連項目

WIMP

ウィンドウ

アイコン

メニュー

ポインター


デスクトップ環境

GUI

ウィジェット (GUI)

スキン (GUI)

ウィジェットエンジン

ウィジェット・ツールキット

レイアウトマネージャ

ルック・アンド・フィール


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:13 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef