2013-07-16 65 views

回答

4

從技術上講,皮膚初始化後(如果滾動條可見),您應該可以使用.lookup("scrollbar")方法進行操作。雖然我不喜歡那個答案。

我不認爲你錯過任何根據本JIRA票:https://javafx-jira.kenai.com/browse/RT-16510

我會鼓勵你跳上,出示您的使用情況下,投票,看看你是否能得到某種的迴應。

6

您可以將ScrollEventListener設置爲ScrollPane,從而覆蓋原始行爲。這樣,例如,我實現了一個水平滾動而不是垂直滾動的ScrollPane。這是我的代碼的相關部分的樣子:

public class Overview extends ScrollPane { 

... 



    private void setupHorizontalScrolling() { 
    this.setOnScroll(new EventHandler<ScrollEvent>() { 
     @Override 
     public void handle(ScrollEvent scrollEvent) { 
     double deltaY = scrollEvent.getDeltaY()*2; // *2 to make the scrolling a bit faster 
     double width = Overview.this.getContent().getBoundsInLocal().getWidth(); 
     double hvalue = Overview.this.getHvalue(); 
     Overview.this.setHvalue(hvalue + -deltaY/width); // deltaY/width to make the scrolling equally fast regardless of the actual width of the component 
     } 
    }); 
    } 

... 

} 

爲了滿足你的要求,你可以改變,而Get/setHvalue被稱爲獲取/ setVvalue行了,然後你可以調整你一樣滾動想。

相關問題