• 追加された行はこの色です。
  • 削除された行はこの色です。
#navi(../)
*DefaultToolkitでDynamicLayoutを設定 [#bce3be39]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:&date~
更新日:&lastmod;
---
category: swing
folder: DynamicLayout
title: DynamicLayoutでレイアウトの動的評価
tags: [DefaultToolkit, LayoutManager]
author: aterai
pubdate: 2005-09-05T12:06:35+09:00
description: ウィンドウのリサイズなどに応じてレイアウトを再評価するようにDynamicLayoutを設定します。
image: https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTMDyaDeJI/AAAAAAAAAYk/-EIAq3TyJbw/s800/DynamicLayout.png
---
* 概要 [#summary]
ウィンドウのリサイズなどに応じてレイアウトを再評価するように`DynamicLayout`を設定します。

#contents
#download(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTMDyaDeJI/AAAAAAAAAYk/-EIAq3TyJbw/s800/DynamicLayout.png)

**概要 [#dacb7963]
ウインドウのリサイズなどに応じてレイアウトを再評価するように、DynamicLayoutを設定します。
* サンプルコード [#sourcecode]
#code(link){{
Toolkit.getDefaultToolkit().setDynamicLayout(true);
}}

http://terai.xrea.jp/swing/dynamiclayout/screenshot.png
* 解説 [#explanation]
上記のサンプルでは、`DefaultToolkit`の`setDynamicLayout`メソッドを使って`DynamicLayout`の設定を切り替えています。

**サンプルコード [#z7ca7790]
 cbox.addItemListener(new ItemListener() {
   public void itemStateChanged(ItemEvent ie) {
     Toolkit.getDefaultToolkit().setDynamicLayout(cbox.isSelected());
   }
 });
- `DynamicLayout`: `false`
-- ウィンドウのリサイズが完了した後内部コンテナのレイアウトを評価する
- `DynamicLayout`: `true`
-- ウィンドウのリサイズに応じて内部コンテナのレイアウトを動的に評価する
-- デスクトップ環境がこの動的レイアウト機能をサポートしているかどうかは以下のメソッドで調査可能
#code{{
Toolkit.getDefaultToolkit().getDesktopProperty("awt.dynamicLayoutSupported");
}}

-[[サンプルを起動>http://terai.xrea.jp/swing/dynamiclayout/sample.jnlp]]
-[[jarファイル>http://terai.xrea.jp/swing/dynamiclayout/sample.jar]]
-[[ソース>http://terai.xrea.jp/swing/dynamiclayout/src.zip]]
* 参考リンク [#reference]
- [https://docs.oracle.com/javase/jp/8/docs/api/java/awt/Toolkit.html#setDynamicLayout-boolean- Toolkit#setDynamicLayout(boolean) (Java Platform SE 8)]

**解説 [#h95a943d]
上記のサンプルでは、DynamicLayoutにチェックするとウインドウのリサイズなどに応じて内部のレイアウトを再評価するように、DefaultToolkitのsetDynamicLayoutメソッドを使ってDynamicLayoutの設定をしています。

//**参考リンク
**コメント [#h2fab599]
* コメント [#comment]
#comment
#comment