问题标签 [treetableview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1959 浏览

java - 如何隐藏 TreeTableView 的标题?

有没有办法在 JavaFX中隐藏TreeTableView的标题?

我在问,因为我有树状结构的数据,我总是想在三列中呈现,而其中两列总是具有相同的大小。因此,用户无需修改任何特定于列的属性。也不会有过滤、排序数据的可能性,因为这不是必需的。

所以我想知道是否可以隐藏 TreeTableView 的标题,因为它只占用空间。在文档和源代码中,我找不到任何提示。

0 投票
2 回答
2317 浏览

java - 如何修改 TreeTableView 的点击行为

我想修改 的点击行为TreeTableView,但老实说,我不确定这样做的预期方式必须是什么样子,或者是否需要以任何方式进行更改。

大多数用户抱怨当前的行为不一致。有时单击单元格已经折叠/展开树项,有时需要双击。这与初始化编辑模式一起可能会很痛苦。所以我很想自己处理点击行为。

我能够将行为缩小到TreeTableCellBehavior类:

不幸的是,我看不到任何创建钩子或任何东西来改变这种行为的可能性。由于行为类和皮肤是内部类,我真的看不到任何创建自己的行为的可能性。那么有谁知道,我应该在 TreeTableView 的什么时候加入来修改点击行为TreeTableView


编辑:自从我发布代码以来,代码似乎发生了变化。所以我更新了这个问题。我还发现了部分公共 api 访问,但仍然无法弄清楚如何覆盖点击行为。谁能给我任何线索?


Edit2:由于布赖恩的评论,我创建了一个小示例并将其与用户体验文档进行了比较。它按描述工作(=>“可以通过单击“特纳”图标或双击节点名称来打开节点(请注意,如果启用了编辑,双击将进入编辑模式)。”),直到我改变TreeTableView 的 TreeColumn 到另一列然后是第一列(这是我的项目和示例代码之间的唯一区别)。更改列会导致奇怪的行为:特纳不再对单击鼠标做出反应,有时(几乎不会发生)选择设置不正确,而是节点展开/折叠。

我添加了一个小例子来演示这个问题:

我还创建了一个Jira Ticket,因为我猜这确实是一个错误,除非有人能指出我在这个例子中犯的任何错误。

0 投票
1 回答
2535 浏览

javafx - JavaFX TreeTableView 删除项目 ContextMenu

我的 FXMLController 中有以下内容:

Song 是一个继承自 FileModel 的类。基本上我所做的是创建我的自定义行工厂,在其中删除所选项目,但没有任何反应。尽管它已从 ObservableList 中删除,但不会从 treeTableView 控件中删除任何项目。

我错过了什么或误解了什么?提前致谢。

0 投票
1 回答
5069 浏览

javafx-8 - JavaFX8 TreeTableView 多个根项

上面的代码设置了一个根项目,但我需要几个带有可扩展子项目列表的根项目。我怎么做?
提前致谢。

0 投票
2 回答
5440 浏览

javafx - JavaFX8 treeTableView自定义折叠根项

如何自定义树根项的折叠外观?通过自定义,我的意思是设置一个图像并将那个小三角形(/新图像)放在其单元格内。

提前致谢。

0 投票
1 回答
562 浏览

javafx-8 - 滚动项目的 JavaFX8 TreeTableView 通知

我正在编写一个使用 JavaFX8 TreeTableView 的应用程序。树表有三列,其中两列是字符串属性(名称),另一列有一个 Canvas 小部件,它从数据库(波形)的数据中绘制图片。应用程序上还有一个控件,可以缩小或缩小(或左右滚动)显示(所有图纸)。

名称列使用我的数据模型中的StringProperty 值,因此为这些列设置了 CellValueFactory。绘图列同时使用 CellFactory 和 CellValueFactory,如下所示:

WaveformTraceBoxTreeTableViewCell 在哪里:

DrawRow 是我的数据模型。当用户通过窗口上的控件缩小或缩小时,绘制行模型将通知其关联的 Canvas 绘图项以重新绘制其显示。由于需要处理大量数据以生成显示,因此显示的绘制可能需要一些时间。

现在我的问题是:当 TreeTableView 小部件滚动时,它会要求新的 Canvas 小部件——这些小部件与数据模型中的 DrawRow 项目相关联。但是,列表中滚动到屏幕外的小部件将被树小部件丢弃。

我没有办法判断我正在使用的物品是被扔掉还是不再被使用。因此,代码所做的工作比它需要的要多得多,因为它试图绘制不再使用或显示的单元格。最终这将导致其他问题,因为我认为垃圾收集。

所以我真正的问题是如何判断一个单元格是否已被树表遗弃,以便我可以停止尝试更新它?对此的任何帮助将不胜感激。在我所做的各种网络搜索中,我无法在任何地方找到它。

0 投票
1 回答
4075 浏览

javafx - JavaFX8树表视图自定义根行

在我的树表视图中,我有一个根项,其中包含子项(我错误地将它们称为根项),而子项又具有子项。我需要自定义那些错误地称为根项目行的文本外观。是否有这样的选择器,或者如何做到这一点?

谢谢。

0 投票
1 回答
910 浏览

javafx - JavaFX8树表视图自定义单独的单元格

在树表视图中,有子项又具有其他子项。例如,我需要自定义这些伪根项目的某些单元格的文本。

有没有办法为这些项目分配一个 CSS 类/样式?

更新:
好的,让它与以下 cellFactory 一起工作:

现在,我如何区分类?FileModel 是一个由多个类实现的接口。在这个 cellFactory 中,我需要知道当前的 cell->item 是什么类型,以便对其应用不同的样式。
谢谢。

0 投票
1 回答
3915 浏览

javafx - javafx treetableview单元格值未更新

更新数据模型 javafx treetableview 单元格值未更新后的事件。

我在这里使用示例代码@http: //docs.oracle.com/javase/8/javafx/user-interface-tutorial/tree-table-view.htm (示例15-2)

单击按钮时,我试图更新第一项:employees.get(0).setName("Test");

有什么技巧可以使用可以更新的 treetableview 吗?

0 投票
1 回答
741 浏览

javafx - Javafx TreeTableView 启用显示/隐藏列按钮

https://wiki.openjdk.java.net/display/OpenJFX/TreeTableView+User+Experience+Documentation

有人可以帮我为 TreeTableView 中的列启用显示/隐藏按钮吗?在上面的文档中,它显示了相同的屏幕截图,但我无法启用它。

谢谢