2013-07-16 66 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行了,然后你可以调整你一样滚动想。

相关问题