こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

java.awt.FlowLayout で改行

AWT の FlowLayout レイアウト マネージャで、改行(?)の位置を制御するような機能はありますか? もしくはそのような機能を持つレイアウト マネージャ、あるいはそのような機能の簡単な実装方法はありますか?

FlowLayout はコンポーネントを左から右に自動的に配置させ、はみだすようであれば折り返して次の行に配置させるのですが、あるコンポーネントの右には絶対に次のコンポーネントが来ないように強制的に改行をしたいのです。全体的にはあくまでも、FlowLayout 風に。
たとえば、JPanel panel にコンポーネントを加えてゆく際に、

panel.add(comp1);
panel.add(comp2);
panel.break(); // 強制改行
panel.add(comp3);
...

のような形とか。
私が探した分にはレイアウト マネージャでそのような機能があるものは見つかりませんでした。

よろしくお願いします。

投稿日時 - 2007-04-22 01:07:28

QNo.2940001

暇なときに回答ください

質問者が選んだベストアンサー

>AWT の FlowLayout レイアウト マネージャで、改行(?)の位置を制御するような機能はありますか?
FlowLayoutや他のレイアウトマネージャなどにそのような機能はなかったと思います。

>もしくはそのような機能を持つレイアウト マネージャ、あるいはそのような機能の簡単な実装方法はありますか?
FlowLayoutのPanelをBoxLayoutかGridLayout(n行1列)のPanelに追加するなどすれば質問者さんの考えている様な配置方法は実現出来ると思います。
または自分でレイアウトマネージャを実装するのもありかと思います。FlowLayoutのソースはJDKに付いていたと思いますので、それを参考に改行(?)する機能を付け加えても良いと思います。

投稿日時 - 2007-04-22 22:59:19

お礼

そうですね。
おっしゃる通り、BoxLayout の中に FlowLayout を組み入れることで実現する感じでしょうか。
FlowLayout のソースを覗いてというのは、、、ちょっと面倒なもので (^^;
ありがとうございました。

投稿日時 - 2007-04-23 09:25:30

ANo.2

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

パネルを乗せることも考えたらどうでしょうか。

参考URL:http://www.tohoho-web.com/java/layout.htm#Panel

投稿日時 - 2007-04-22 22:28:55

お礼

はい。結局は FlowLayout と BoxLayout の組み合せかな、と思っております。
ありがとうございました。

投稿日時 - 2007-04-23 09:27:36

あなたにオススメの質問