ScrollPane
を指定の位置にプログラムでスクロールすることはできますか?ScrollPaneをプログラムによって所定の位置にスクロールすることはできますか?
ScrollPane#vvalue
およびScrollPane#hvalue
は、0から1まで変化するため、無用です。絶対的なプロパティはありますか、自分でコード化する必要がありますか?
ScrollPane
を指定の位置にプログラムでスクロールすることはできますか?ScrollPaneをプログラムによって所定の位置にスクロールすることはできますか?
ScrollPane#vvalue
およびScrollPane#hvalue
は、0から1まで変化するため、無用です。絶対的なプロパティはありますか、自分でコード化する必要がありますか?
スクロール区画を所定のピクセル数だけ移動させてから、画像サイズを取得し、hvalue
またはvvalue
で移動する必要があるかどうかを計算することを意味しています。垂直方向の変更のための
int pixelsH = 45; int change = pixelsH/scrollpane.getWidth(); scrollpane.setHvalue(scrollpane.getHValue() + change);
同じコンセプト。
これらのプロパティーは役に立たないわけではありません。正しく使用する方法を知る必要があります。 (あなたが直接絶対値を指定できるようにすることはメソッドはありません。)ScrollBar
を想定し
あなたはこれが
scrollValue = (topLeft * scrollMax)/(contentSize - viewportSize)
= topLeft/(contentSize - viewportSize)
hvalue = topLeftX/(contentWidth - viewportWidth)
vvalue = topLeftY/(contentHeight - viewportHeight)
topLeftX
として再定式化することができ、以下の式
topLeft/(contentSize - viewportSize) = scrollValue/scrollMax
を知って、表示されていますtopLeftY
は、ビューポートの左上隅にあるピクセルのx座標とy座標です。ビューポートのサイズを確認するには、viewportBounds
を使用します。
setHvalue
とsetVvalue
を使用して、スクロールパネルを配置します。
値は、例えばのためにNodes
に対して計算することができます。
double nodeX = dummyNode.getBoundsInParent().getMaxX(); double nodeY = dummyNode.getBoundsInParent().getMaxY(); double scrollPaneWidth = dummyScrollPane.getContent().getBoundsInLocal().getWidth() double scrollPaneHeight = dummyScrollPane.getContent().getBoundsInLocal().getHeight() dummyScrollPane.setVvalue(nodeY/height); dummyScrollPane.setHvalue(nodeX/width);
あなたは可能性も(私は信じて)セット(またはバインド)スクロール区画の 'hmax'' contentWidth-viewportWidth'へ値をピクセル座標にしたい場合は、 '' vmax''と同じようにします。 –