2016-09-06 10 views
0

したがって、垂直スクロールバーを持つScrollPaneがあるとしましょう。JavaFXでペインのサイズを変更した後に、ScrollBarの位置を維持できますか?

ScrollPaneの中には、垂直に拡大するFlowPaneがあります。

フローパネルの内部には、多数の小さな要素があります。

ステージウィンドウが500x500サイズで、スクロールペインのScrollBarが0.5付近に配置されているとしましょう。

ステージウィンドウを拡大してフルスクリーンにすると、フローパネルのサイズも拡張され、使用できる幅が増えるため、内部の要素が増えるほど高さが低くなりますしたがって、フローパネルの行数は少なくなります。

これは、スクロールバーが、私は0.5の位置に滞在するスクロールバーを必要とし、この動作を好きではない

(非常に大まか)0.9の周りのどこかの位置にジャンプします。

これは可能ですか?

+0

アイテムが追加されると、スクロール位置は0.5のままにしますか? – Alexiy

+0

スクロール区画のコンテンツの高さが変わるたびに、アイテムが追加されたときにはい。 – user1488773

答えて

0

ListChangeListenerをFlowPaneの子にアタッチすることができます。このようなもの:

 FlowPane flowPane=new FlowPane(); 
     ScrollPane scrollPane=new ScrollPane(flowPane); 

     flowPane.getChildren().addListener(new ListChangeListener<Node>() 
     { 
      @Override 
      public void onChanged(Change<? extends Node> c) 
      { 
       scrollPane.setHvalue(0.5); //sets the horizontal scroll 
       scrollPane.setVvalue(0.5); //sets the vertical scroll 
      } 
     });