当前位置: 首页 > 知识库问答 >
问题:

Track clicked标签-JavaFx

朱昊乾
2023-03-14

我在vBox中有5个标签。我想创建一个方法来跟踪我单击的标签。现在,我使用5种方法,每个标签一种。我需要找个倾听者或其他什么吗?这是我的程序片段。

我的fxml代码:

<VBox layoutX="13.0" layoutY="106.0" prefHeight="117.0" prefWidth="68.0" spacing="8.0">
     <children>
        <Label fx:id="firstLabelTime" onMouseClicked="#setFirstLabelTime" text="Input time" />
        <Label fx:id="secondLabelTime" onMouseClicked="#setSecondLabelTime" text="Label" />
        <Label fx:id="thirdLabelTime" onMouseClicked="#setThirdLabelTime" text="Label" />
        <Label fx:id="fourthLabelTime" onMouseClicked="#setFourthLabelTime" text="Label" />
        <Label fx:id="fifthLabelTime" onMouseClicked="#setFifthLabelTime" text="Label" />
     </children>
  </VBox>

我的java方法:

private Label tempLabelTime;
@FXML
private void setFirstLabelTime() {
        tempLabelTime = firstLabelTime;
        openTimePicker();

}

@FXML
private void setSecondLabelTime() {
    tempLabelTime = secondLabelTime;
    openTimePicker();
}

@FXML
private void setThirdLabelTime() {
    tempLabelTime = thirdLabelTime;
    openTimePicker();
}

共有1个答案

曹臻
2023-03-14

您可以将MouseEvent注入到公共事件处理程序中。像这样:

@FXML
private void labelClicked(MouseEvent e) {
    Label label = (Label) e.getSource();  // this is the label that initiated the event
    openTimePicker(label);                // openTimePicker knows what to do with each label clicked
}

您还可以传递标签。getId()或标签。getText()。

此外,请参阅关于JavaFx鼠标事件的堆栈溢出讨论。

最后,我建议不要将类级别字段用作临时变量。您可以将特定于标签的逻辑委托给openTimePicker方法,以使控制器保持无状态。这减少了以后出现错误的机会!理想情况下,您希望将控制器实现为用户和服务类之间的无状态适配器。

 类似资料:
  • 主要内容:创建标签,标签内容,标签字体,包装文本,应用效果,标签鼠标事件,更新标签JavaFX API的包中的类可用于显示一个文本元素。 我们可以包装文本元素以适应特定空间,添加图形图像或使用JavaFX 控件应用视觉效果。 以下代码显示如何使用显示文本。 创建标签 JavaFX API提供了类的三个构造函数来创建标签。 标签内容 创建标签后,我们可以使用类中的以下方法添加文本和图形内容。 - 设置标签的文本标题 - 设置图形图标 方法设置文本和图标之间的间距。方法设置标签文本

  • 如果你有一个大型的 playbook,那能够只运行其中特定部分的配置而无需运行整个 playbook 将会很有用. plays 和 tasks 都因这个理由而支持 “tags:” 例: tasks: - yum: name={{ item }} state=installed with_items: - httpd - memcached

  • 标签是为了更方便地参考提交而给它标上易懂的名称。 Git可以使用2种标签:轻标签和注解标签。打上的标签是固定的,不能像分支那样可以移动位置。 轻标签 添加名称 注解标签 添加名称 添加注解 添加签名 一般情况下,发布标签是采用注解标签来添加注解或签名的。轻标签是为了在本地暂时使用或一次性使用。 您可以指定标签名称以退出,或reset在「修改提交」的讲解,还可以简单的恢复过去特定的状态。

  • 标签结构由标签有一个无序列表的哈希值对应的标签 ID。然后,当您单击每个选项卡时,只有与相应的选项卡的容器将成为可见。你可以添加 .disabled 类使标签无法访问。 可变宽度的标签 默认 固定宽度标签 增加 .tabs-fixed-width 类 可滚动标签 标签自动变得可以滚动 标签 HTML 结构 <div class="row"> <div class="col s12"> <u

  • 标签 另一个常见的版本控制系统概念是标­¾(tag),一个标签只是一个项目某一时间的“快照”,在Subversion里这个概念无处不在—每一次提交的修订版本都是一个精确的快照。 然而人们希望更人性化的标签名称,像release-1.0。他们也希望可以对一个子目录快照,毕竟,记住release-1.0是修订版本4822的某一小部分不是件很容易的事。 建立简单标签 svn copy再次登场,你希望建立

  • 获取一个用户的标签 获取当前认证用户的标签 当前认证用户附加一个标签 当前认证用户分离一个标签 获取一个用户的标签 GET /users/:user/tags 获取当前认证用户的标签 GET /user/tags 响应 Status: 200 OK [ { "id": 1, "name": "标签1", "tag_category_id": 1 } ] 字段

  • 获取所有标签 GET /tags 响应 Status: 200 OK [ { "id": 1, "name": "分类1", "weight": 5, "tags": [ { "id": 1, "name": "标签1", "tag_category_id": 1, "weight"

  • 标签用于标识虚拟机、裸金属、物理机等资源,用户可以根据各个维度(例如:部门、管理员、用途)等对资源进行分类管理。 标签用于标识虚拟机、裸金属、物理机等资源,用户可以根据各个维度(例如:部门、管理员、用途)等对资源进行分类管理。 标签列表 标签列表汇总显示系统中的所有标签信息,包括本地标签以及同步下来的公有云或私有云标签。标签列表主要用户汇总统计资源。 在云管平台单击左上角导航菜单,在弹出的左侧菜单