gpt4 book ai didi

java - 在鼠标悬停在 JavaFX 上时突出显示网格 Pane 单元格

转载 作者:行者123 更新时间:2023-12-01 08:52:46 24 4
gpt4 key购买 nike

好吧,如上所述,我的 javafx 应用程序中有 gridpane,我试图获取它,以便当我将鼠标悬停在单个单元格上时,鼠标所在的单元格会将颜色更改为黄色(想想 Excel 类似的东西)。我不知道如何执行此操作,然后在鼠标离开单元格后重置它。

  officeHoursGridPane.setOnMouseEntered((MouseEvent t) -> {
officeHoursGridPane.setStyle("-fx-background- color:#FFFF00;");
});

officeHoursGridPane.setOnMouseEntered((MouseEvent t) -> {
officeHoursGridPane.setStyle("-fx-background-color:#dae7f3;");
});

这就是我现在的方式,但它只是改变鼠标悬停时的一种颜色,然后保持该颜色。整个表格也不会改变每个单元格。有人帮忙吗?

最佳答案

如果您在网格 Pane 上设置样式类:

officeHoursGridPane.getStyleClass().add("office-hours-pane");

然后您可以使用 CSS 将样式应用到网格 Pane 的直接子级,并使用内置的 hover 伪类仅在节点悬停时应用它们。将以下内容添加到外部 CSS 文件:

.office-hours-pane > *:hover {
-fx-background-color: #FFFF00;
}

如果您更喜欢使用监听器(这要棘手得多,而且不是一个好习惯,因为您应该将样式真正分离到单独的实体中,例如 CSS),那么您可以设置 onMouseEnteredonMouseExited 网格 Pane 的每个子节点上的监听器(而不是网格 Pane 本身)。

关于java - 在鼠标悬停在 JavaFX 上时突出显示网格 Pane 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42285610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com