JavaFX使对象可见但不消耗(忽略)单击

时间:2014-06-11 13:49:42

标签: java javafx javafx-8

标题说明了一切:我在JavaFX中有一个矩形(用于透明度/不透明度效果)但我希望人们能够点击“#”;它

所以,当我说点击时,我的意思是当你点击它时,Java应该假装它不在那里,而是点击'在那个物体下面的任何东西上。当你使用setVisible(false)创建一些不可见的东西时,这正是发生的事情 - 你设置的任何对象都是不可见的,不会消耗你的鼠标生成的点击事件。但是,对象变得不可见 - 这是我不想要的。

有可能吗?感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:13)

JavaFX中的所有Node都有一个setMouseTransparent()方法,详细here,其中mouseTransparent属性为:

  

如果为true,则此节点(及其所有子节点)对鼠标事件完全透明。选择鼠标事件的目标时,将mouseTransparent设置为true的节点及其子树不会被考虑在内。

如果您需要更复杂的鼠标透明效果,例如只有父节点是透明的,您可能需要将其与处理点击检测的其他方法结合起来(其名称在此刻逃过我我认为它是pickOnBounds;关于如何使用它,我无法肯定地说。我认为我通过将应用程序中的所有内容设置为true或{更加滥用它{1}},但我不记得哪一个,很遗憾无法告诉你需要设置该属性的节点,但是对于简单的鼠标透明度应该是工作