2017-03-03 86 views
0

我正在使用滾動事件,但不希望用戶能夠滾動瀏覽網站中的節點。我曾嘗試以下,但問題是,我不能滾動備份一旦達到需要爲JavaFX中的滾動事件設置限制

代碼:

 label.setOnScroll(new EventHandler<ScrollEvent>() { 
      @Override 
      public void handle(ScrollEvent event) { 
        label.setTranslateY(label.getTranslateY() + event.getDeltaY()); 
        System.out.println(label.getTranslateY()); 
        if (label.getTranslateY() <= -2370) 
        label.setOnScroll(null); 
        } 
      }); 

任何人都知道一個解決方案嗎?

+0

這是因爲當你達到'-2370'的位置時,它會刪除'setOnScroll'事件。 –

+0

是的,但是我怎樣才能讓它在不移除事件的情況下滾動到那一點之外呢? @HypnicJerk – user7455531

+0

如果你刪除'setTranslateY()',標籤會移動嗎?如果不是這樣,請在'if'語句中移動該代碼並檢查'label.getTranslateY()> -2370',這種方式只有在它大於該位置時纔會移動。此外,刪除'setOnScroll(null)' –

回答

0
public void handle(ScrollEvent event) { 
    double newY = label.getTranslateY() + event.getDeltaY() ; 
    if (newY > -2370) { 
     label.setTranslateY(newY); 
    } 
} 
相關問題