私は以下を処理する簡単な方法を探しています:
タイプAのすべてのアイテムは水平に配置する必要があります。タイプBのすべてのアイテムは垂直に配置する必要があります。したがって、たとえば:
AAA B AA B B AAAAAA
タイプBのアイテムは、これと同じ動作をするコンテナーになるため、全体が任意の数のレベルの深さでネストされます。
Aのコレクションの周りにコンテナを配置せずにこれを達成する簡単な方法はありますか?
GridLayout
Aを行に、Bを列に配置するために使用できます。
少し検索すると、VerticalFlowLayoutが見つかります。FlowLayoutとVarticalFlowLayoutのミキシングを処理する必要があるため、必要なのはカスタムレイアウトマネージャーです。
基本的なメソッドをオーバーライド/実装する必要があります:ここで説明します
データを2次元配列/リストに行と列として格納します。addLayoutComponentとremoveLayoutComponentをオーバーライドする必要があります。
お役に立てば幸いです。
JPanelにAを追加します(GridLayout(1,0))
JPanelにBを追加します(GridLayout(0,1))
各AおよびBパネルをholdingPanelに追加します(BoxLayout(Y_AXIS))