我不知道如何解决这个问题,我在使用 BoxLayout 的主 JPanel 中有几个 JPanel(用于绘图)。JPanel 具有设置的最小尺寸和首选尺寸。主 JPanel 仅显示五个中的三个,因为它太小了。我尝试将主 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 的 JPanel 添加到panel
.
使用滚动条,我只能看到其中一个 JPanel,并且没有出现滚动条。
编辑:在绘制主 JPanel 之前,我必须等到所有计算完成,这就是为什么它没有显示最后 3 个。