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

如何获取TableView中特定点的行号?

孔运良
2023-03-14

我正在JavaFX中创建TableView。我想在鼠标右键单击时显示上下文菜单。因此,我正在按照下面给出的方式进行。

    EventHandler event = new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent me) {
            if (me.getButton() == MouseButton.SECONDARY) {
                tableView.getContextMenu().show(tableView, me.getSceneX(), me.getSceneY());
            }
        }
    };
    tableView.addEventHandler(MouseEvent.MOUSE_CLICKED, event);

但我想做到这一点,ContextMenu只有在我单击TableView中的任何行时才可见。i、 e.我如何在TableView中的特定点获取行号,以便只有当我单击<code>TableView</code>的任何行时,我的<code>上下文菜单</code〕才可见。

共有1个答案

隆璞
2023-03-14

如果不是强制性的,我可以建议一个不同的解决方案。

每个节点都有一个方法Node.getChildrenUnmodifiable(),该方法返回直接子节点的列表。

完成递归搜索后,对节点使用该方法的递归调用-

这是一个节点和父节点,它负责单元格渲染(这是一个东西,它包含scrollBars并向您显示单元格-table leView的内容)。

您可以调用setOnMouseClick(…)并为其设置处理程序。

 类似资料:
  • 我想知道将JavaFX TableView数据获取到集合中的最佳和最有效的方法。我想获得JavaFX TableView中的所有行。

  • 问题内容: 这是一项学术任务,我们将获得一个非常大的XML文件,其中包含数百个此类条目。对于每个项目,我们都应列出经理的ID,将项目添加到列表中的最后一个人员的人员ID以及当前的项目数。我已阅读并重新阅读了Oracle DOM API和各种Node API。我们正在使用JAVA,我一生都无法弄清楚如何搜索每个节点的各个“字段” 。以下是我们提供的数据示例。 我尝试做类似的事情: 并弄乱了这段代码一

  • 我有这个xml,我只想获取“responseMessage”及其所有内容。我下面的xsl不起作用。当我删除requestMessage节点旁边的名称空间时,我得到了所需的输出,但事实并非如此,因为人们总是希望requestNode必须具有名称空间。 XML输入 XSL: 期望输出:

  • 问题内容: 在Java中,是否有任何方法可以从文件中读取特定行?例如,读取第32行或任何其他行号。 问题答案: 除非你以前对文件中的行有一定的了解,否则没有阅读前31行就无法直接访问第32行。 所有语言和所有现代文件系统都是如此。 如此有效地,你只需阅读第32行,直到找到第32行为止。

  • 我有一个具有如下结构的数据帧: 但是是Any类型,我无法提取它的任何字段。有人能说出我做错了什么,或者我应该遵循什么方法来代替这个吗? 谢谢

  • 所以我正在写一个代码来获取scanf一个文本文件并返回一个格式化的文本消息日志。我一直在想,当文件扫描行“332982000 20555552002 205551001 7 Webb先生,我能问你一个问题吗?”时,如何在某一点扫描文件中的字符串,并打印E.X点以外的所有字符串我将前4个数字扫描为整数,并将其余写入的文本扫描到从“Mr.Webb”开始的字符数组中。 我尝试使用一个for循环与fsca

  • 我在许多地方看到了关于如何使用代码获取表头的示例 像这里:如何防止TableView从做TableColsta重新排序在javaFX 8? 但是这个代码为我返回。 如何到达然后?

  • 我目前正在使用 但这并没有返回选择模型中的一个选定项。