簡體   English   中英

JavaFX tableview滾動條事件未觸發

[英]JavaFX tableview scrollbar event not firing

我已經添加了一個事件處理程序來滾動到我的表視圖,但是它僅在我使用滾輪滾動時才起作用,但是當您單擊並使用滾動條拖動時,也需要它起作用。 有什么想法怎么了? 我嘗試為事件使用不同的方法,但沒有一個起作用。

這是我的代碼:

tableVw.addEventFilter(ScrollEvent.ANY, new EventHandler<ScrollEvent>() {
    @Override
    public void handle(ScrollEvent scrollEvent) {
        System.out.println("scrolling");
    }
});

任何幫助表示贊賞,謝謝!

謝謝James_D。 起作用的代碼:

scrollbar.valueProperty().addListener(new ChangeListener<Number>() {
    @Override
    public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
        // Stuff with scrollbar here
    }
});

要獲得我使用的滾動條:

public static ScrollBar getVerticalScrollbar(TableView<?> table) {
    ScrollBar result = null;
    for(Node n : table.lookupAll(".scroll-bar")) {
        if(n instanceof ScrollBar) {
            ScrollBar bar = (ScrollBar) n;
            if(bar.getOrientation().equals(Orientation.VERTICAL)) {
                result = bar;
            }
        }
    }
    return result;
}

我不知道它是否是最好的解決方案,但是它可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM