このページでは、GridBagLayoutSpringLayoutBoxLayoutといったレイアウトマネージャー関係の使い方を集めて一覧にしています。

Layout

DynamicLayoutでレイアウトの動的評価

thumbnail
DynamicLayoutでレイアウトの動的評価

ウィンドウのリサイズなどに応じてレイアウトを再評価するように、DynamicLayoutを設定します。

JButtonの高さを変更せずに幅を指定

thumbnail
JButtonの高さを変更せずに幅を指定

高さはデフォルトのまま幅だけを指定して、JButtonJComboBoxJTextFieldなどのサイズを変更します。

BoxLayoutでリスト状に並べる

thumbnail
BoxLayoutでリスト状に並べる

高さの異なるコンポーネントをスクロールできるようにリスト状に並べます。

ImageIconの形でJButtonを作成

thumbnail
ImageIconの形でJButtonを作成

任意のShapeとその形に透過色を設定した画像を使ってJButtonを作成します。

SpringLayoutの使用

thumbnail
SpringLayoutの使用

SpringLayoutを使用して、各ラベルのサイズとパネルからの距離が一定の比率になるような配置を指定します。

GridBagLayoutの使用

thumbnail
GridBagLayoutの使用

GridBagLayoutを使用して、左右の部品のサイズを固定、中央だけは水平方向に伸縮可になるよう配置します。

GridBagLayoutを使ってレンガ状に配置

thumbnail
GridBagLayoutを使ってレンガ状に配置

GridBagLayoutを使ってコンポーネントをレンガ状に配置します。

GroupLayoutの使用

thumbnail
GroupLayoutの使用

JDK 6で新しく導入されたGroupLayoutGridBagLayoutを比較しています。

OverlayLayoutの使用

thumbnail
OverlayLayoutの使用

OverlayLayoutを使用し、JButtonを重ねて配置します。

JTabbedPaneの余白にJButtonを配置

thumbnail
JTabbedPaneの余白にJButtonを配置

JTabbedPaneのタブエリアに余白を作成し、そこにOverlayLayoutを使ってJButtonを配置します。

↑10 ↓11

CardLayoutを使ってJTabbedPane風のコンポーネントを作成

thumbnail
CardLayoutを使ってJTabbedPane風のコンポーネントを作成

CardLayoutJRadioButtonJTableHeaderを組み合わせてJTabbedPane風のコンポーネントを作成します。

JTabbedPane風のタブ配置をレイアウトマネージャーで変更

thumbnail
JTabbedPane風のタブ配置をレイアウトマネージャーで変更

CardLayoutJRadioButtonで作成したJTabbedPane風コンポーネントのタブ配置を自作レイアウトマネージャーで変更します。

LayoutManagerを使ってパネルの展開アニメーションを行う

thumbnail
LayoutManagerを使ってパネルの展開アニメーションを行う

パネルの展開・収納をアニメーションで行うLayoutManagerを作成します。

thumbnail
JMenuBarのJMenuを折り返し

JMenuBarのレイアウトマネージャーを変更して、JMenuを折り返して表示します。

JTextAreaをキャプションとして画像上にスライドイン

thumbnail
JTextAreaをキャプションとして画像上にスライドイン

画像の上にJTextAreaをスライドインアニメーションで表示します。

LayoutManagerを拡張して曲線上にコンポーネントを配置

thumbnail
LayoutManagerを拡張して曲線上にコンポーネントを配置

LayoutManagerを拡張して曲線上にコンポーネントを配置します。

Borderの右下にJComponentを配置

thumbnail
Borderの右下にJComponentを配置

SpringLayoutを設定したJLayeredPaneを使って、Borderの右下にJComponentを配置します。

JProgressBarの進捗文字列の字揃えを変更する

thumbnail
JProgressBarの進捗文字列の字揃えを変更する

JProgressBarの進捗文字列をJLabelにして、字揃えなどを変更します。

GridLayoutとJScrollPaneを使ったグリッド単位での表示切り替え

thumbnail
GridLayoutとJScrollPaneを使ったグリッド単位での表示切り替え

JPanelGridLayoutでコンポーネントを追加し、これをJScrollPaneに配置して、グリッド単位での表示、スクロールアニメーションによる切り替えを行います。

OverlayLayoutで複数のJButtonを重ねて複合ボタンを作成

thumbnail
OverlayLayoutで複数のJButtonを重ねて複合ボタンを作成

4つの扇形ボタンと円形ボタンを、OverlayLayoutを設定したJPanelに配置して、複合ボタンを作成します。

↑20 ↓21

JScrollBarを半透明にする

thumbnail
JScrollBarを半透明にする

半透明のJScrollBarを作成して、JViewport内部に配置します。

JMenuItemの内部にJButtonを配置する

thumbnail
JMenuItemの内部にJButtonを配置する

JMenuItemの内部に切り取り、コピー、貼り付けを行うJButtonを配置します。

thumbnail
FlowLayoutでボタンを重ねてパンくずリストを作成する

FlowLayoutの水平間隔をマイナスにして、JRadioButtonを重ねて表示し、パンくずリスト風のコンポーネントを作成します。

JPopupMenuのレイアウトを変更して上部にメニューボタンを追加する

thumbnail
JPopupMenuのレイアウトを変更して上部にメニューボタンを追加する

JPopupMenuのレイアウトを変更することで、上部にメニューボタンを水平に並べて表示します。

JPasswordFieldでパスワードを可視化する

thumbnail
JPasswordFieldでパスワードを可視化する

JPasswordFieldに入力したパスワードの表示・非表示を切り替えるためのボタンを作成し、これを入力欄などに配置します。

BoxLayoutでJLabelの中央揃えをテストする

thumbnail
BoxLayoutでJLabelの中央揃えをテストする

BoxLayoutを設定したJPanelに、最小サイズを設定したJLabelを中央揃えで配置するテストを行います。

JDesktopPane内のJInternalFrameをJTabbedPaneのタブと入れ替える

thumbnail
JDesktopPane内のJInternalFrameをJTabbedPaneのタブと入れ替える

JDesktopPaneJTabbedPaneCardLayoutで切り替えるとき、その内部のJInternalFrameとタブもすべて入れ替えます。

JToggleButtonをFlowLayoutで重ねて表示する

thumbnail
JToggleButtonをFlowLayoutで重ねて表示する

ボタンテキストが左揃えの非矩形JToggleButtonFlowLayoutを使って任意の幅だけ重ねて配置します。

JTableHeaderで作成したタブエリアでCardLayoutのコンテナを切り替える

thumbnail
JTableHeaderで作成したタブエリアでCardLayoutのコンテナを切り替える

JTableHeaderをタブエリアとして使用し、TableColumnをクリックするとCardLayoutのコンテナが切り替わるようにマウスリスナーを設定します。

Component上に重ねて配置したダイアログの表示状態をアニメーション付きで切り替える

thumbnail
Component上に重ねて配置したダイアログの表示状態をアニメーション付きで切り替える

Component上に重ねて配置した検索用ダイアログの位置をアニメーション付きで変更するレイアウトマネージャを作成し、その表示非表示をキー入力で切り替えます。

↑30 ↓31

LayoutManagerでコンポーネントのサイズを変更する

thumbnail
LayoutManagerでコンポーネントのサイズを変更する

LayoutManagerを使用して、コンポーネントの状態に応じてそのサイズや位置を変更します。

JFileChooserのファイル名とフィルタのラベルを右揃えに変更する

thumbnail
JFileChooserのファイル名とフィルタのラベルを右揃えに変更する

JFileChooserの下部に表示されるファイル名とフィルタのラベルを左揃えから右揃えに変更します。

JTreeとCardLayoutでサイドメニューを作成する

thumbnail
JTreeとCardLayoutでサイドメニューを作成する

JTreeのスタイルを変更してサイドメニュー風のコンポーネントを作成し、ノード選択に応じてCardLayoutでのパネル切り替えを実行します。

JLabelの最大幅を共有して異なるパネル間で垂直位置を揃える

thumbnail
JLabelの最大幅を共有して異なるパネル間で垂直位置を揃える

JLabelの垂直位置を異なるパネル間でも揃えるため、最大幅のJLabelを検索してこれをすべての推奨サイズとして使用します。

JListからの大量アイテム削除を高速化する

thumbnail
JListからの大量アイテム削除を高速化する

JListListModelからの大量のアイテムを高速に削除する方法をテストします。

JToolBarがドラッグ・アウト状態になった場合、そのLayoutManagerを変更する

thumbnail
JToolBarがドラッグ・アウト状態になった場合、そのLayoutManagerを変更する

JToolBarがドラッグ・アウト状態になった場合、そのLayoutManagerをデフォルトのBoxLayoutからGridLayoutに変更します。

Componentの3列配置、中央幅固定、左右均等引き伸ばしを行うLayoutManagerを作成する

thumbnail
Componentの3列配置、中央幅固定、左右均等引き伸ばしを行うLayoutManagerを作成する

Component3列配置し、中央は常に幅固定、左右は均等に水平引き伸ばしを行うLayoutManagerを作成します。

JPanelに追加したコンポーネントの順序を変更する

thumbnail
JPanelに追加したコンポーネントの順序を変更する

JPanel内のコンポーネントのZ軸順インデックスを変更してその表示順序を変更します。

GridBagLayoutを使ってJButtonをキーボード状に配置する

thumbnail
GridBagLayoutを使ってJButtonをキーボード状に配置する

GridBagLayoutを使用してJButtonをキーボード状に配置します。

GridLayout内でのセル位置を取得する

thumbnail
GridLayout内でのセル位置を取得する

GridLayoutを設定したJPanel内に配置したJButtonをクリックしたときそのセル位置を取得します。

↑40 ↓41

JEditorPaneのミニマップを表示する

thumbnail
JEditorPaneのミニマップを表示する

JEditorPaneのミニマップをImageIconで作成し、これをLayoutManagerを使用してJScrollPane上に重ねて表示します。

JPanelの子コンポーネントを水平方向で折り返す

thumbnail
JPanelの子コンポーネントを水平方向で折り返す

JPanelに配置した子コンポーネントを水平方向で折り返し、またそれらの水平間隔を動的に均等になるよう拡大します。

CardLayoutの前後のカードを左右に表示する

thumbnail
CardLayoutの前後のカードを左右に表示する

CardLayoutを設定したContainerからカレントカードの前後に存在するカードを取得し、半透明でカレントカードの左右に表示します。

CardLayoutを設定したパネル上にOverlayLayoutでカード切り替え用のJComboBoxを配置する

thumbnail
CardLayoutを設定したパネル上にOverlayLayoutでカード切り替え用のJComboBoxを配置する

CardLayoutを設定したパネルの内部にそのカード切り替え用のJComboBoxOverlayLayoutで重ねて配置します。

JMenuから開くポップアップウィンドウのレイアウトを2列に変更する

thumbnail
JMenuから開くポップアップウィンドウのレイアウトを2列に変更する

JMenuをクリックして開くポップアップウィンドウのレイアウトをGridLayoutに変更してJMenuItemなどを2列で表示します。

JSeparatorで段落罫線を描画する

thumbnail
JSeparatorで段落罫線を描画する

GridLayoutなどで作成した列の間に罫線としてJSeparatorを描画します。

CardLayoutで作成したJTabbedPane風コンポーネントのタブエリアに水平JScrollBarを表示する

thumbnail
CardLayoutで作成したJTabbedPane風コンポーネントのタブエリアに水平JScrollBarを表示する

CardLayoutを使用してJTabbedPane風のコンポーネントを作成し、そのタブエリアに水平JScrollBarを表示してスクロール可能にします。

LayoutManagerを実装して常に中央に子コンポーネントを配置する

thumbnail
LayoutManagerを実装して常に中央に子コンポーネントを配置する

LayoutManagerを実装して子コンポーネントのサイズを推奨サイズに設定し、位置を常に中央になるよう配置します。

JTabbedPaneのタブエリアレイアウトを変更して一覧表示ボタンなどを追加する

thumbnail
JTabbedPaneのタブエリアレイアウトを変更して一覧表示ボタンなどを追加する

JTabbedPaneのタブエリアレイアウトを変更して余白や右端にタブの一覧表示ボタンなどを追加します。

TitledBorderの背景色を設定する

thumbnail
TitledBorderの背景色を設定する

TitledBorderを背景色を変更する方法をテストします。

JRadioButtonの選択アイコンを除いたテキスト先頭をJLabelと揃える

thumbnail
JRadioButtonの選択アイコンを除いたテキスト先頭をJLabelと揃える

JRadioButtonJCheckBoxの選択アイコンを除いたテキスト先頭が垂直配置したJLabelのテキスト先頭と揃うよう配置します。

JToolBarの配置位置によってJToolTipの表示方向を切り替える

thumbnail
JToolBarの配置位置によってJToolTipの表示方向を切り替える

JToolBarの配置位置、縦横の方向、言語依存の方向によって内部に配置したJButtonJToolTip表示位置が常に内側になるよう切り替えます。

JMenuBarのレイアウトを変更して垂直方向にJMenuを配置する

thumbnail
JMenuBarのレイアウトを変更して垂直方向にJMenuを配置する

JMenuBarのレイアウトを垂直BoxLayoutに変更してJMenuを垂直方向に並べて配置するサイドバーを作成します。

JButton内に複数のJLabelをBorderLayoutで配置する

thumbnail
JButton内に複数のJLabelをBorderLayoutで配置する

JLabelBorderLayoutJButton内に2つ配置したキーキャップを作成し、それをJPanel内にGridBagLayoutでテンキー状にレイアウトします。

JSliderとテキスト入力欄を重ねて配置する

thumbnail
JSliderとテキスト入力欄を重ねて配置する

JSliderJFormattedTextFieldOverlayLayoutで重ねて配置した数値入力コンポーネントを作成します。