2012-12-23 66 views
0

Method sp.setVvalue(app.spvalue.intValue());不會將vbox滾動到所需的位置。如何設置所需的位置scrollpane?

  mvPane = new VBox(); 
      mvPane.setStyle("-fx-background-color: #fff;"); 
      GetPlayList(app,root); 

      sp = new ScrollPane(); 
      sp.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); 
      sp.setContent(mvPane); 
      sp.setVvalue(40); 
      setCenter(sp); 
      sp.getVvalue(); 

函數GetPlayList添加了許多標籤。

+0

考慮選擇項目,然後按照這裏的建議: charo

+0

謝謝,但我不知道如何考慮選擇項目? – user1924304

+0

我想你會提到JavaFX的scrollpane控件,所以刪除了「jscrollpane」標籤。 app.spvalue是指什麼?你如何設置該變量?提供更多的細節。 –

回答

3

如果您在談論JavaFX 2.0及其scrollPane,那麼Hvalue和Vvalue屬性運行良好,但事情看起來像,它們的值是範圍[0.0..1.0]的兩倍,所以,當你設置int值,它將無法正常工作。

0

這可能是你的問題 - 我注意到如果你在做yourStage.show()之前嘗試做yourScrollPane.setVvalue(),它將不會滾動。但是,如果執行sp.setVvalue()階段已經顯示,它將起作用。不知道這是ScrollPane中的錯誤還是預期的行爲。希望有所幫助。

0

在這種情況下,問題肯定是數字40,因爲只允許0和1之間的值。然而,由於不同的原因,在遇到同樣的問題時偶然發現了這個問題。 發現只有在JFX線程(又名Platform.runlater)上執行setHvalue()和setVvalue是很重要的。否則,在用戶驅動的滾動事件啓動之前,位置不會被明顯更新!

相關問題