java - 如何禁用节点而不在 JavaFX 中将其灰显?

标签 java css javafx

我的问题是能够禁用 Node,这样用户就无法在我打印它时与其进行交互。但出于同样的原因,我需要整个 Node(在本例中为 GridPane)及其所有子节点(主要是按钮和标签)不能与用户,而打印正在进行中。

当我写 setDisable 时,它使整个 Node 变灰,但我想保留 Node 的原始颜色和状态> 当它被禁用时。

有没有办法做到这一点?通过 disableProperty 或其他方式,对我来说并不特别重要。这里的关键是您不应该能够与 Node 进行交互。

提前致谢

最佳答案

我找到了答案:

来自@awksp “JavaFX 中的所有节点都有一个 setMouseTransparent() 方法,详见此处,其中 mouseTransparent 属性为:

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

然后我进一步使用了 setFocusTraversable(false),这样您就无法通过其他方式聚焦节点来与节点交互

感谢@awksp 的帮助: https://stackoverflow.com/a/24164911/6197978

关于java - 如何禁用节点而不在 JavaFX 中将其灰显?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38326362/

相关文章:

java - 如何手动启动Kafka监听器?

java - 在 Servlet 3.0 API 中继续或暂停和恢复以与客户端通信?

css - 在手写笔混合中添加前缀

javascript - Bootstrap 3 Navbar 切换 - 折叠但按钮不出现

JavaFX:如何更改焦点遍历策略?

image - 在 JavaFX HTMLeditor 中设置本地镜像

java - FindBy 在 JPA 中使用外键

指向这个的javascript对象指针

java - 选择在哪个监视器中打开 JavaFX 窗口

java - 保存数据+字符串