如何在Java中将ScrollPane添加到面板?

PPB*_*PPB 1 java swing

我想JPanel在运行时添加垂直堆叠的不同按钮,并使用一个JScrollPane按钮以便所有按钮都可见(通过一些滚动).

为了做到这一点,我已将我添加JPanel到a JScrollPane,然后我将按钮添加到我的JPanel.

但是,当我这样做时,垂直滚动条不允许我看到所有图像.例如,当我添加7个按钮时,我只能滚动查看5个完整图像和6个图像中的一半.

为什么我的滚动条不允许我显示所有7个按钮?

cam*_*ckr 9

创建面板和滚动窗格,如:

JPanel panel = new JPanel();
JScrollPane scrollPane = new JScrollPane( panel );
Run Code Online (Sandbox Code Playgroud)

在运行时向面板添加按钮时,代码应为:

panel.add( button );
panel.revalidate();
Run Code Online (Sandbox Code Playgroud)

只要您使用布局管理器,将重新计算首选大小并显示滚动条.