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

如何在树节点上双击时触发事件

毋澄邈
2023-03-14

我有这段代码,它在一个远程Java类中创建新的tab。

treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<TreeItem<String>>()
        {
            @Override
            public void changed(ObservableValue<? extends TreeItem<String>> observable, TreeItem<String> oldValue, TreeItem<String> newValue)
            {
                System.out.println("Selected Text : " + newValue.getValue());
                // Create New Tab
                Tab tabdata = new Tab();
                Label tabALabel = new Label("Test");
                tabdata.setGraphic(tabALabel);

                DataStage.addNewTab(tabdata);
            }
        });

你能告诉我,当我双击树节点时,我如何修改代码以打开新选项卡。在我的代码中,当我单击一次时,选项卡就会打开。我需要什么事件处理程序?

共有1个答案

幸越泽
2023-03-14

您可以将EventHandler 添加到TreeView.setonmouseclicked()方法,并检查mouseeventGetClickCount()返回值,以确定它是否是双击。删除上面的ChangeListener,并将逻辑添加到EventHandler

使用此处的描述并将其应用于TreeView变量。

会是这样的。您可能还想检查该项的null

treeView.setOnMouseClicked(new EventHandler<MouseEvent>()
{
    @Override
    public void handle(MouseEvent mouseEvent)
    {            
        if(mouseEvent.getClickCount() == 2)
        {
            TreeItem<String> item = treeView.getSelectionModel().getSelectedItem();
            System.out.println("Selected Text : " + item.getValue());

            // Create New Tab
            Tab tabdata = new Tab();
            Label tabALabel = new Label("Test");
            tabdata.setGraphic(tabALabel);

            DataStage.addNewTab(tabdata);
        }
    }
});
 类似资料:
  • 问题内容: 我的页面上有一个超链接。我正在尝试自动执行对超链接的多次单击,以进行测试。有什么方法可以使用JavaScript模拟超链接的50次点击? 我正在寻找JavaScript中的onClick事件触发器。 问题答案: 单击HTML元素: 只需执行。大多数主流浏览器都支持此功能。 要多次重复单击: 将ID添加到元素以唯一地选择它: 并通过for循环在JavaScript代码中调用该方法:

  • 问题内容: 如何在 ReactJS中 手动触发click事件?当用户单击element1时,我想自动触发对标签的单击。 问题答案: 您可以使用该道具通过回调获取对基础HTMLInputElement对象的引用,将该引用存储为类属性,然后使用该引用稍后使用HTMLElement.click方法触发事件处理程序中的单击。 在您的方法中: 在事件处理程序中: 完整示例: 请注意 ES6箭头函数,该函数为

  • 当按钮单击时,是否有任何机制显式地触发按键事件。当我单击java UI中命名为“+”的按钮时,它将显式地触发“+”键按下事件。

  • 第一次调用时,激发一次 第二次调用时,会激发两次 等等 编辑: 下面是一个jsfiddle示例(如下所示)。 要复制,请单击按钮,然后单击,然后单击一个并重复此过程 您将注意到,第二次执行该过程时,文本会加倍

  • 问题内容: 我在从React中的表行调用click事件时遇到麻烦。下面是我的代码。我有一个单独的函数来单独填充行,但似乎我弄乱了绑定信息。 } 问题答案: 首先,您要传递一个评估函数调用到您的属性。 单独查看以下代码: 您期望的输出为“ hello bob”。 如果我将其传递给prop,则完全相同。例如: 在这种情况下,我只是将字符串传递给按钮的prop。的(和其他事件的道具)希望被提供的功能(或

  • 我正在使用primefaces[3.4]showcase,其中包含树和复选框选择: http://www.primefaces.org/showcase-labs/ui/treeSelectionCheckbox.jsf 是否可以为点击节点标签附加一个p:ajax事件?? 当用户单击树的节点标签时,我需要用子对象更新面板,而不一定是在用户选择它们时(单击复选框)。 提前感谢。