2016-07-29 31 views
1

ScrollPaneでスクロールを無効/防止する方法があるのだろうか?JavaFX8 ScrollPaneのスクロールを無効にする

私は基本的に、(Ctrl +スクロールで)ズームを有効にするために、グループオブジェクトにラップされたCanvasを持っています。何らかの理由でScrollPaneが他のscrollEvent(たとえば、Canvas、Group、ScrollPane、さらにはScrollPaneのParent!からのScrollEvent)を起動する前にイベントを消費します(スクロール可能な場合)。

私はScrollPaneで消費される前に、scrollEventをキャッチするオプションがあるかどうか不思議でした。

ありがとうございました

+0

無効にする方法はジョブを行いますか? – Javant

+1

イベントフィルタを使用してみましたか? http://docs.oracle.com/javafx/2/events/filters.htm – jmpyle771

答えて

0

私は答えを得ました。

私は、EventFiltersがjavafxのものであることを忘れました。運がよければ、eventFilterでもイベントを消費することができるので、ここでは解決策です。

scrollPane.addEventFilter(ScrollEvent.SCROLL, event -> { 
    if(event.isControlDown()) 
    { 
     zoomCanvas(event) // zoom the canvas instead of scrolling the actual pane. 
     event.consume(); 
    } 
}); 

多くのご協力ありがとうございました! Imは、なぜ通常のイベントがうまくいかないかまだ分かりませんが。

関連する問題