• ベストアンサー

java.awt.FlowLayout で改行

AWT の FlowLayout レイアウト マネージャで、改行(?)の位置を制御するような機能はありますか? もしくはそのような機能を持つレイアウト マネージャ、あるいはそのような機能の簡単な実装方法はありますか? FlowLayout はコンポーネントを左から右に自動的に配置させ、はみだすようであれば折り返して次の行に配置させるのですが、あるコンポーネントの右には絶対に次のコンポーネントが来ないように強制的に改行をしたいのです。全体的にはあくまでも、FlowLayout 風に。 たとえば、JPanel panel にコンポーネントを加えてゆく際に、 panel.add(comp1); panel.add(comp2); panel.break(); // 強制改行 panel.add(comp3); ... のような形とか。 私が探した分にはレイアウト マネージャでそのような機能があるものは見つかりませんでした。 よろしくお願いします。

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

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

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

beubeu
質問者

お礼

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

その他の回答 (1)

  • i2719
  • ベストアンサー率35% (11/31)
回答No.1

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

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

お礼

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

関連するQ&A

専門家に質問してみよう