有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JavaFX使对象可见,但不使用(忽略)点击

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

所以当我说点击时,我的意思是当你点击它时,Java应该假装它不在那里,而是“点击”该对象下面的任何东西。当你用setVisible(false)使某个东西不可见时,这正是发生的事情——无论你设置什么不可见的对象,都不会消耗鼠标生成的点击事件。然而,物体变得不可见——这是我不想要的

可能吗?感谢您提供的一切帮助


共 (1) 个答案

  1. # 1 楼答案

    JavaFX中的所有Node都有一个setMouseTransparent()方法,如here所述,mouseTransparent属性是:

    If true, this node (together with all its children) is completely transparent to mouse events. When choosing target for mouse event, nodes with mouseTransparent set to true and their subtrees won't be taken into account.

    如果需要更复杂的鼠标透明度效果,例如只有父节点是透明的,你可能需要把它和其他一些处理点击检测的方法结合起来(它的名字让我一时想不起来了,我想它是pickOnBounds;至于如何使用它,我不能确定。我想我更滥用了它,把我应用程序中的所有内容都设置为truefalse,但我不记得是哪一个,不幸的是,我无法告诉您需要为哪些节点设置该属性),但对于简单的鼠标透明性,这应该是可行的