私はこれを正しく理解できません。JPanel のサイズを大きくするためのスライダーがあります (描画するキャンバスとして使用されます)。
JPanel がイベントを受信するたびに、setBounds() でサイズを変更すると、一瞬サイズが変更されるのがわかりますが、次の Paint などで、スライダーの優先サイズ プロパティによって指定された元のサイズに戻ります。
public class ShapesMainFrame extends JFrame {
private PaintCanvas paintCanvas;
public ShapesMainFrame() {
[...]
JScrollPane scrollPane = new JScrollPane(paintCanvas);
scrollPane.setPreferredSize(new Dimension(1,600));
add(scrollPane, BorderLayout.CENTER);
pack();
}
}
public class PaintCanvas extends JPanel {
[...]
public void setScale(int value) {
setSize(1000,1000);
}
}
JPanel のサイズを大きな値に変更しようとすると、サイズが変更され、スクロールバーが正しく表示されるはずです。最初に設定したときと同じ600pxの高さのままです。