【问题标题】:JavaFX Make object visible but not consume (ignore) clicksJavaFX 使对象可见但不消耗(忽略)点击
【发布时间】:2014-08-01 14:43:30
【问题描述】:

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

所以当我说点击通过时,我的意思是当您点击它时,Java 应该假装它不存在,而是“点击”该对象下方的任何内容。当您使用 setVisible(false) 使某些东西不可见时,这正是发生的情况 - 无论您设置为不可见的对象都不会消耗鼠标生成的单击事件。但是,该对象变得不可见 - 这是我不想要的。

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

【问题讨论】:

    标签: java javafx javafx-8


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多