- ベストアンサー
java.awt.FlowLayout で改行
AWT の FlowLayout レイアウト マネージャで、改行(?)の位置を制御するような機能はありますか? もしくはそのような機能を持つレイアウト マネージャ、あるいはそのような機能の簡単な実装方法はありますか? FlowLayout はコンポーネントを左から右に自動的に配置させ、はみだすようであれば折り返して次の行に配置させるのですが、あるコンポーネントの右には絶対に次のコンポーネントが来ないように強制的に改行をしたいのです。全体的にはあくまでも、FlowLayout 風に。 たとえば、JPanel panel にコンポーネントを加えてゆく際に、 panel.add(comp1); panel.add(comp2); panel.break(); // 強制改行 panel.add(comp3); ... のような形とか。 私が探した分にはレイアウト マネージャでそのような機能があるものは見つかりませんでした。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>AWT の FlowLayout レイアウト マネージャで、改行(?)の位置を制御するような機能はありますか? FlowLayoutや他のレイアウトマネージャなどにそのような機能はなかったと思います。 >もしくはそのような機能を持つレイアウト マネージャ、あるいはそのような機能の簡単な実装方法はありますか? FlowLayoutのPanelをBoxLayoutかGridLayout(n行1列)のPanelに追加するなどすれば質問者さんの考えている様な配置方法は実現出来ると思います。 または自分でレイアウトマネージャを実装するのもありかと思います。FlowLayoutのソースはJDKに付いていたと思いますので、それを参考に改行(?)する機能を付け加えても良いと思います。
その他の回答 (1)
- i2719
- ベストアンサー率35% (11/31)
パネルを乗せることも考えたらどうでしょうか。
お礼
はい。結局は FlowLayout と BoxLayout の組み合せかな、と思っております。 ありがとうございました。
お礼
そうですね。 おっしゃる通り、BoxLayout の中に FlowLayout を組み入れることで実現する感じでしょうか。 FlowLayout のソースを覗いてというのは、、、ちょっと面倒なもので (^^; ありがとうございました。