Я просто не могу понять это правильно.У меня есть ползунок для увеличения размера моего 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 на большое значение, он должен изменить размер, иполосы прокрутки должны появиться правильно?Ну, он остается таким же высотой 600 пикселей, как я установил в начале.