【发布时间】:2017-05-17 11:58:15
【问题描述】:
情况:我正在为一个使用 java 和 JavaFX 的学校项目从头开始编写一个简单的笔记程序。我正在使用标签对笔记进行分组。我可以将标签添加到笔记中,如果它是创建的新标签,它也会添加到我的标签云中。
每个标签都有一个标有 X 的按钮。我现在需要使按钮工作,但根据标签的位置,我需要它来做以下两件事之一: 1)如果用户希望从笔记中删除标签,我需要从显示该特定笔记的标签的标签栏(这是一个 TilePane)中删除该标签并将其从笔记中删除。 2) 如果用户希望完全删除标签,则用户单击标签云(即 FlowPane)中标签的 X,然后从标签云和所有注释中删除该标签。
问题:据我了解,我需要为同一个按钮执行两个不同的操作,但我不知道如何实现。
想法:我曾想过制作两种不同类型的标签,每种标签都有自己的 FXML 文件,但我不确定。
问题:如何为同一个按钮执行两个不同的操作,以及如何执行以调用正确的操作?
【问题讨论】:
-
我看到 2 个不同的
x按钮。一个在顶部(“云”),一个在左侧。为每个人分配自己的行动。 -
要知道按钮的位置,您所要做的就是确保持有按钮的父级具有 fx:id。然后,当您单击按钮时,请查看父母是谁。切换父级的操作。
-
这些按钮并不相同。例如。标签栏中的“私人”标签按钮(必然)是与标签云中的“私人”标签按钮不同的按钮。所以每个都有一个事件处理程序来执行不同的操作。问题出在哪里?
-
一篇关于标签的好帖子here