こんにちは、rxscala と scalafx を一緒に使用したいので、マウス イベントを再パッケージ化するためにこれを行いました。
def mouseEvents: Observable[MouseEvent] = Observable.create(observer => {
stage.filterEvent(MouseEvent.Any)((event: MouseEvent) => {
observer.onNext(event)
event.consume
})
Subscription { ??? }
})
問題は、Subscription { ??? }
ブロック内で登録されたイベントフィルターを削除したいのですfilterEvent()
が、それを見るとfilterEvent()
、イベントフィルターへの参照が保持されていないため、使用できませんstage.removeEventFilter()
。同等のものも見当たりません。削除removeFilterEvent()
を使用して登録されたイベント フィルタはどのように処理されますか?filterEvent()
回避策は、使用filterEvent()
せずに javafx を使用することだと思いaddEventFilter()
ますが、構文はもっと悪いです。