グリッドを備えた無限の座標ボードのクラスを設計しようとしています。aを延長し、JViewport
初期位置ok(内側JScrollPane
)で描画します。どの方向にもスクロールできるスペースがあることをスクロールペインに伝えるにはどうすればよいですか?
以下は役に立ちません
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);
アップデート
JScrollPaneがビューポートからスクロール範囲を決定する方法を知っている人はいますか?
UPDATE2
呼び出し後に最大値と最小値を設定すると、スクロールバーが機能しないように見えることがわかりましたsetVisible
。
しかし、残念ながら、paintConponent
スクロール時に呼び出されません。
なんで?
UPDATE3
スクロールバーは機能しますが、ビューポートの位置は変更されません。
なんで?