1
你好,我想,所以我這樣做是爲了重新包裝的鼠標事件使用rxscala和scalafx在一起:如何在使用filterEvents()時移除事件過濾器?
def mouseEvents: Observable[MouseEvent] = Observable.create(observer => {
stage.filterEvent(MouseEvent.Any)((event: MouseEvent) => {
observer.onNext(event)
event.consume
})
Subscription { ??? }
})
的問題是,塊裏面我想刪除通過filterEvent()
註冊的事件過濾器,但看着它我看到filterEvent()
不保留對事件過濾器的引用,所以我不能使用stage.removeEventFilter()
。我沒有看到相應的removeFilterEvent()
,那麼如何刪除使用filterEvent()
註冊的事件過濾器?
我想一個解決方法是不使用filterEvent()
,而是使用javafx的addEventFilter()
,但語法更糟。