JavaFX 1.x には、下のノードへのイベントの伝播を停止するように設定できる blockinMouse プロパティがありました (たとえば、一番上のノードにコンテキスト メニューが必要な場合は、右クリックしてコンテキスト メニューを表示します)。
私はJavaFX 2で同等のものを見つけるのに苦労していますが、それはどこかにあるに違いないと思いますが、オンラインで掘り下げたのは同様の苦情だけでした。リストされているブルートフォーススタイルの回答は避けたいですそこの。
JavaFX 1.x には、下のノードへのイベントの伝播を停止するように設定できる blockinMouse プロパティがありました (たとえば、一番上のノードにコンテキスト メニューが必要な場合は、右クリックしてコンテキスト メニューを表示します)。
私はJavaFX 2で同等のものを見つけるのに苦労していますが、それはどこかにあるに違いないと思いますが、オンラインで掘り下げたのは同様の苦情だけでした。リストされているブルートフォーススタイルの回答は避けたいですそこの。
私はこれに間違った方法でアプローチしていたようです-解決策はconsume();
、一番上のノードでイベントを呼び出して、イベントが下のノードに伝播するのを止めることでした。mouseTransparent プロパティは似ていましたが、私が求めていたものではありませんでした.ノードがマウスイベントを受け取るか、単に渡すかを制御するだけです(古いガラスペインのようなアプローチに似ています)。
JavaFX 2 では、これは pointerTransparent と呼ばれます。