1

フレームの幅に基づいて 3 つのパネルを配置するキャラクター シート プログラムを作成しようとしています。フレームがあまり広くない場合はパネルを縦に配置したいのですが、ユーザーがフレームを広くすることを選択した場合は、パネルを横に配置したいと思います。

3つのパネルが配置されているscrollPanelもあるので、scrollPanelはscrollPaneに追加されています。

イベントリスナーが機能するという投稿を見たことがありますが、これらのほとんどはボタン用であり、レイアウトが変更される前にフレームサイズが特定のしきい値を超える必要があります。html を推奨する他の投稿を見ましたが、現時点では必要ではありません。

ここに画像の説明を入力

この図では、3 つのパネルが縦に並べられており、スクロールすることができます。

    scrollPanel.add(leftPanel); //this is the yellow panel that is being added
    scrollPanel.add(centerPanel); //this one is farther down
    scrollPanel.add(rightPanel); //even farther down
    scrollPanel.setBackground(Color.CYAN);
    scrollPanel.setLayout(new GridLayout(0, 1)); //so here I would like to have an if statement or event swap the 0 and the 1.

概要:

  • Frame のサイズに基づいて GridLayout を動的に変更できますか?

  • フレーム サイズの変更を監視するにはどうすればよいですか? イベント?if ステートメント?

  • パネルが垂直か水平かに基づいて、水平スクロール バーと垂直スクロール バーが表示されないように設定して、ScrollPane で同じことを行うことはできますか?

4

1 に答える 1