これを修正する方法がわかりません。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 つが表示されませんでした。