それはあなたが求めている解決策ではないかもしれませんが、あなたが持っている要件から、カスタムLayoutManagerはあなたが求めているものを達成できるように思えます. 改行を許可するカスタム レイアウト マネージャーを設計してContainer( などPanel) に割り当てることで、改行を許可する を作成できるはずPanelです。
Java チュートリアルのコンテナ内でのコンポーネントのレイアウトに関する記事では、レイアウト マネージャーが Java でどのように機能するかについての一般的な情報が提供されます。特に、カスタム レイアウト マネージャーの作成では、カスタム レイアウト マネージャーを に適用する方法に関する情報が提供されます。Container
FlowLayout( のデフォルトの Layout Manager ) の動作はPanel、あなたが求めている動作にかなり近いようです。改行に機能を追加することは、欠けている部分のようです。
提案:おそらく、カスタム レイアウト マネージャーは、改行Componentを表す を使用して改行を追加する機能を持つことができます。これは、メソッドContainerを使用してに追加できます。add()
たとえばComponent、カスタム レイアウト マネージャーに (a hypothetical) などのクラス定数がありLineBreakLayout.LINE_BREAK、それを に追加するとContainer、カスタム レイアウト マネージャーに次の行に移動するように指示できます。おそらく、実装は次のようになります。
Panel p = new Panel(new LineBreakLayout());
p.add(new Label("First Line"));
p.add(LineBreakLayout.LINE_BREAK);
p.add(new Label("Second Line"));
上記の仮説 は、最初の行を 1 行に、2番目の行を 2 行目にLineBreakLayoutレンダリングします。LabelLabel