JScrollPane
в JPanel
ниже расширяется, чтобы заполнить рамку. Как я могу остановить это расширение, чтобы размер JScrollPane
был размером JButton
внутри него?
public class GUITest extends JFrame {
public GUITest() {
setPreferredSize(new Dimension(700, 500));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
add(mainPanel);
JButton button1 = new JButton();
JButton button2 = new JButton();
JButton button3 = new JButton();
JScrollPane pane1 = new JScrollPane();
mainPanel.add(button1);
mainPanel.add(pane1);
pane1.setViewportView(button2);
mainPanel.add(button3);
//Display the window.
super.pack();
super.setLocationRelativeTo(null);
super.setVisible(true);
}
}
Я попытался
pane1.setMaximumSize(button2.getPreferredSize());
но появляются полосы прокрутки, и я не вижу кнопку. Кроме того, в моей реальной программе компоненты в JScrollPane
будут динамически добавляться во время выполнения, поэтому для этого мне понадобится JScrollPane
для расширения.