Я пытаюсь создать класс бесконечной координатной платы с сеткой. Я расширил JViewport
и он рисует в исходном положении ok (внутри JScrollPane
). Как сообщить панели прокрутки, что есть прокрутка в любом направлении?Как правильно расширить JViewport?
Следующая не помогает
JCoordinateViewport coordinate = new JCoordinateViewport();
coordinate.setBackground(Color.WHITE);
//coordinate.setPreferredSize(new Dimension(10000, 10000));
JScrollPane scroll = new JScrollPane();
//scroll.setViewportView(coordinate);
scroll.setViewport(coordinate);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.getVerticalScrollBar().setMinimum(-10000);
scroll.getVerticalScrollBar().setMaximum(+10000);
scroll.getHorizontalScrollBar().setMinimum(-10000);
scroll.getHorizontalScrollBar().setMaximum(+10000);
UPDATE
ли знает, кто как JScrollPane определяет диапазон прокрутки от его видовой экран?
UPDATE2
Я обнаружил, что полосы прокрутки появляются т работать, если максимумы и минимумы устанавливаются после setVisible
называется.
Но, к сожалению, paintConponent
не требует свитка.
Почему?
Update3
Хотя полосы прокрутки работают, они не меняют видовых положение.
Почему?
скроллинг на основе предпочтительного размера компонента добавляется в окне просмотра в ScrollPane. – camickr
У меня нет компонента, я расширяю 'JViewport', а его компонент равен« null ». –
Ну, прокрутка была разработана для отображения компонента в своем окне просмотра, так что это будет вашей проблемой. – camickr