相关疑难解决方法(0)

如何允许将MouseEvents分派给禁用的节点?

在fx中,mouseEvents不会被分派到禁用的节点,最后是一个演示行为的快速示例.

对于像我这样的Swinger,这有点令人惊讶:在我的土地上,事件被传递,目标(ui-delegate)的任务是决定是否应该处理事件.实际上是由最近的一个 - 完全有效的IMO 用例 - 在禁用的组件上显示工具提示而指出的

从技术上讲,在一个Node的impl方法中,调度似乎被切断了:

/**
 * Finds a top-most child node that intersects the given ray.
 *
 * The result argument is used for storing the picking result.
 */
@Deprecated
public final void impl_pickNode(PickRay pickRay, PickResultChooser result) {

    // In some conditions we can omit picking this node or subgraph
    if (!isVisible() || isDisable() || isMouseTransparent()) {
        return;
    }
Run Code Online (Sandbox Code Playgroud)

这似乎是在命中检测过程中调用的.如果是这样的话,那么在没有太大机会进行调整的情况下,它会非常深入.

问题:

  • 我的代码有什么问题(很容易错过一些明显的东西;-)
  • 以上是真正的根本原因吗?
  • 是否有任何可配置的选项来强制发送?如果是这样,怎么样?
  • 行为的规格在哪里?看看教程/ api doc但找不到任何东西.

代码示例:

package fx.control;

import javafx.application.Application;
import javafx.scene.Parent;
import …
Run Code Online (Sandbox Code Playgroud)

java swing mouseevent javafx-8

6
推荐指数
1
解决办法
678
查看次数

标签 统计

java ×1

javafx-8 ×1

mouseevent ×1

swing ×1