• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JPanelをフォーカストラバーサルサイクルのルートにする
#navi(../)
#tags()
RIGHT:Posted by &author(aterai); at 2010-07-19
*JPanelをフォーカストラバーサルサイクルのルートにする [#id58f427]
JPanelがフォーカストラバーサルサイクルのルートになるように設定します。
---
category: swing
folder: FocusCycleRoot
title: JPanelをフォーカストラバーサルサイクルのルートにする
tags: [JPanel, Focus, KeyboardFocusManager]
author: aterai
pubdate: 2010-07-19T23:07:24+09:00
description: JPanelがフォーカストラバーサルサイクルのルートになるように設定します。
image: https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTNCX36INI/AAAAAAAAAaI/xunzBpsDJLk/s800/FocusCycleRoot.png
---
* 概要 [#summary]
`JPanel`がフォーカストラバーサルサイクルのルートになるように設定します。

-&jnlp;
-&jar;
-&zip;
#download(https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTNCX36INI/AAAAAAAAAaI/xunzBpsDJLk/s800/FocusCycleRoot.png)

//#screenshot
#ref(http://lh4.ggpht.com/_9Z4BYR88imo/TQTNCX36INI/AAAAAAAAAaI/xunzBpsDJLk/s800/FocusCycleRoot.png)

**サンプルコード [#t9143965]
* サンプルコード [#sourcecode]
#code(link){{
JPanel p1 = new JPanel();
p1.setFocusCycleRoot(true);
p1.add(new JTextField(16));
}}

**解説 [#c38342df]
上記のサンプルでは、各JPanelがそれぞれフォーカストラバーサルサイクルのルートになるように設定しています。
* 解説 [#explanation]
上記のサンプルでは、以下の`JPanel`がそれぞれフォーカストラバーサルサイクルのルートコンテナになるように設定しています。

-左のJPanel
--setFocusCycleRoot(true);
-右のJPanel
--setFocusCycleRoot(true);
--setFocusTraversalPolicyProvider(true);
--順方向キーボードトラバーサルとリバースキーボードトラバーサルを入れ替え
- 左`JPanel`
-- `Container#setFocusCycleRoot(true)`
- 右`JPanel`
-- `Container#setFocusCycleRoot(true)`
-- `Container#setFocusTraversalPolicyProvider(true)`
-- 順方向キーボードトラバーサルとリバースキーボードトラバーサルを入れ替え

**参考リンク [#p3d834cf]
-[[Focusの移動>Swing/FocusTraversal]]
* 参考リンク [#reference]
- [https://docs.oracle.com/javase/jp/8/docs/api/java/awt/Container.html#setFocusCycleRoot-boolean- Container#setFocusCycleRoot(boolean) (Java Platform SE 8)]
- [https://docs.oracle.com/javase/jp/8/docs/api/java/awt/Container.html#setFocusTraversalPolicyProvider-boolean- Container#setFocusTraversalPolicyProvider(boolean) (Java Platform SE 8)]
- [[Focusの移動>Swing/FocusTraversal]]

**コメント [#d3d42358]
* コメント [#comment]
#comment
#comment