标题说明了一切:我在JavaFX中有一个矩形(用于透明度/不透明度效果)但我希望人们能够点击“#”;它
所以,当我说点击时,我的意思是当你点击它时,Java应该假装它不在那里,而是点击'在那个物体下面的任何东西上。当你使用setVisible(false)创建一些不可见的东西时,这正是发生的事情 - 你设置的任何对象都是不可见的,不会消耗你的鼠标生成的点击事件。但是,对象变得不可见 - 这是我不想要的。
有可能吗?感谢您提供任何帮助!
答案 0 :(得分:13)
JavaFX中的所有Node
都有一个setMouseTransparent()
方法,详细here,其中mouseTransparent
属性为:
如果为true,则此节点(及其所有子节点)对鼠标事件完全透明。选择鼠标事件的目标时,将mouseTransparent设置为true的节点及其子树不会被考虑在内。
如果您需要更复杂的鼠标透明效果,例如只有父节点是透明的,您可能需要将其与处理点击检测的其他方法结合起来(其名称在此刻逃过我我认为它是pickOnBounds
;关于如何使用它,我无法肯定地说。我认为我通过将应用程序中的所有内容设置为true
或{更加滥用它{1}},但我不记得哪一个,很遗憾无法告诉你需要设置该属性的节点,但是对于简单的鼠标透明度应该是工作