1

これを修正する方法がわかりません。BoxLayout を使用して、メインの JPanel 内に複数の JPanel (描画に使用) があります。JPanel には、最小サイズと優先サイズが設定されています。小さすぎるため、メインの JPanel には 5 つのうち 3 つしか表示されません。メインの JPanel のサイズをかなり大きく設定しようとしましたが、スクローラも追加しようとしましたが、何も表示されません。

ここにいくつかのコードがあります:

public static void main(String[] args) throws XMLStreamException, IOException {
    JFrame frame = makeFrame(500, 500);
    JPanel panel = new JPanel();
    panel.setSize(1800, 1800);
    JScrollPane scroller = new JScrollPane(panel);  

    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));


    frame.add(scroller);

    test1(panel);

}
public static JFrame makeFrame(int sizex, int sizey){

    JFrame frame = new JFrame();

    frame.setTitle("FDA");
    frame.setSize(sizex, sizey);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setVisible(true);
    return frame;
}

test1サイズが 360x360 の 6 つの JPanel を に追加しpanelます。

スクロールバーを使用すると、JPanel の 1 つしか表示されず、スクロールバーは表示されません。

編集: メインの JPanel をペイントする前に、すべての計算が完了するまで待たなければならないため、最後の 3 つが表示されませんでした。

4

1 に答える 1