问题标签 [treecell]

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 回答
374 浏览

javafx - JavaFX TreeView 将项目添加到树视图会导致两个单元格的相同行为

我愿意解析 XML 架构定义并从解析的文件中获取 TreeView,然后在生成 XML 之前从 TreeView 中添加和删除项目。

我的问题是,当我想从选定的一个 TreeItem 添加一个 TreeItem 时 - 复制它 - 会导致两个 TreeItem 的不当行为:选定的一个和新的 TreeItem。

例如,扩展一个 TreeItem 会导致另一个也扩展。

SchemaTreeCell.java

这就是我调用 CellFactory 的方式

0 投票
0 回答
205 浏览

java - JavaFX 获取 TreeView 的 prefWidth

我一直在尝试确定 TreeView 的首选宽度,但我打电话时得到getPrefWidth()的只是-1. 这有什么原因吗?对我来说,首选宽度是最宽单元格的宽度。该值必须存储在某个地方,因为当 TreeView 没有足够的空间来显示其所有内容时会显示滚动条。

0 投票
1 回答
297 浏览

javafx - JavaFX TreeView 工具提示与 TreeCell 工具提示冲突

在网上搜索时,我找不到任何提示如何解决以下问题:我有一个包含 TreeView 的 JavaFX 窗格。一开始这个 TreeView 是空的,因此我在 fxml 文件中添加了一个 Tooltip,它建议用户使用鼠标右键来访问上下文菜单。

这工作正常。但是,当鼠标悬停在 TreeView 中的某个项目上时,会显示相同的工具提示 - 换句话说,在 TreeCell 上。因此,我像这样向 TreeCell 添加了不同的 ToolTip

但是当鼠标悬停在 TreeCell 上时,仍然会显示 TreeView 中的 ToolTip。当鼠标悬停在 TreeView 的空白区域时,如何使 TreeView 中的 Tooltip 显示出来,如果鼠标悬停在 TreeCell 上,如何显示 TreeCell 的 Tooltip?

先感谢您!!

编辑:我继续测试 TreeView 的功能并添加了更多 TreeCells。事实证明,行为取决于鼠标移动的方向和 TreeCells 的位置。如果鼠标来自 Treeview 区域并移到最后一个 TreeCell 上,我会得到错误的工具提示。如果我将鼠标进一步向上移动,在倒数第二个 TreeCell 上,我会在一段时间后得到正确的工具提示。如果我随后移回最后一个 TreeCell,我将再次获得正确的 ToolTip。听起来像是 Javafx 中的错误?!你怎么看?

0 投票
0 回答
47 浏览

javafx - 如何为 TextFieldTreeCell 设置图形

我用普通的 treecells 和 cellfactory 制作了一个 treeview 来显示我的自定义对象。

我希望能够在树视图中编辑对象名称。

所以我从一个普通的 TreeCell 切换到一个 TextFieldTreeCell,这样我就可以在树中编辑我的对象的名称。

但是现在 updateitem 中的 setGraphic 方法不起作用。我究竟做错了什么?

我也不确定如何从 fromString 方法访问自定义对象以编辑对象。

0 投票
0 回答
39 浏览

javafx - 创建时的样式 TreeItem

我希望我的一些TreeItems 具有不同的字体、斜体或颜色,我发现TreeCell在 JavaFX 中可能应该以某种方式使用。我想在我创建的那一刻应用它TreeItem,即当我这样做的时候

我想应该有一种方法可以为此访问样式属性TreeItem并相应地应用一些设置方法。

问候

更新:这或多或少是我想要实现的

1.root 已创建 2. 添加子测试,即 root.getChildren.add("test") 3.将此子测试设置为斜体和红色 4. 添加另一个子 test1 5 将子 test1 设置为字体大小 12 和粗体

0 投票
0 回答
53 浏览

java - TreeCell Line Bindings 在滚动时搞砸了

我的 JavaFX GUI 中有两个 TreeView,我动态填充它们。它们可以有很多数据,所以大多数时候,它们是可滚动的。之后,我在两个 TreeView 的 TreeCell 之间创建连接(或者更确切地说是边)。我从源单元格到目标单元格绘制一条线并创建绑定。我的代码如下:

现在,这对我有用,直到我开始滚动其中一个 TreeView。当连接的单元格滚动出树视图的可见区域时,行位置会重置并将其自身连接到不同的单元格。

我认为这是因为绑定到 TreeCell 并且它们可以根据可见数据动态更改它们的值,但是使它起作用的替代方法是什么?

我如何将 Line 绑定到原始 TreeCell 而不会在滚动出并返回视图时发生变化?

我的示例代码: