【发布时间】:2019-10-10 14:18:14
【问题描述】:
我正在尝试从 FontAwesomeIconView 对象中删除事件处理程序,但它不起作用。事件处理程序一直在工作,我不知道为什么。
EventHandler<MouseEvent> glowIcon = (e) -> {
FontAwesomeIconView icon = (FontAwesomeIconView) e.getSource();
icon.setFill(Color.web("#ffb521"));
scene.setCursor(Cursor.HAND);
};
EventHandler<MouseEvent> unglowIcon = (e) -> {
FontAwesomeIconView icon = (FontAwesomeIconView) e.getSource();
icon.setFill(Color.web("#000000"));
scene.setCursor(Cursor.DEFAULT);
};
if (Session.getSession().isProjectCreator()) {
newIcon.setFill(Color.web("#000000"));
newIcon.addEventHandler(MouseEvent.MOUSE_ENTERED, glowIcon);
newIcon.addEventHandler(MouseEvent.MOUSE_EXITED, unglowIcon);
}else {
newIcon.setFill(Color.web("#e8e8e8")); //It's changed to this color
newIcon.removeEventHandler(MouseEvent.MOUSE_ENTERED, glowIcon);
newIcon.removeEventHandler(MouseEvent.MOUSE_EXITED, unglowIcon);
}
一开始添加了事件处理程序,但是当我删除它们时,它们会继续工作,而它们不应该这样做。
【问题讨论】:
-
@AwesomeGuy 代码 sn-ps 无法在其他机器上运行,如果您需要帮助,请发布 minimal reproducible example
标签: javafx eventhandler