Tag: treeview

在java中表示树层次结构

可能重复: Java树数据结构? 我想在java中表示层次结构。 层次结构可以是forms Key | |-Value1 | |-Value11 | |-Value111 |-Value2 | |-Value22 |-Value3 |-Value4 任何人都可以建议我在java中表示这种层次结构的最佳数据结构吗?

如何更改SWT树加/减图标

我正在开发类似于此处的SWT树,但是,我希望能够在某些情况下显示+符号而不是 – 对于扩展的树项目。 这可能吗 ? 如果没有,是否有Windows API具有树项目的展开/折叠状态的自定义图标?

在TreeView中设置选定的TreeItem

我有一个位于GridPane内的TreeView。 某个function要求用户选择TreeItem并单击屏幕上的按钮。 完成与按钮关联的function后,我希望焦点返回到先前在TreeView中选择的TreeItem。 在按钮操作结束时,我有: TreeItem selectedItem = [TreeItem that was last selected] 如何将焦点重新放回TreeView并突出显示selectedItem ? TreeView或TreeItem都没有我可以使用的setSelected方法。

javafx如何禁用checkboxTreeItem中的一个项目?

我是JavaFX的新手,我在复选框树视图中遇到了问题。 我想在根值中禁用一个项目** Serial No但是根据JavaFX文档,似乎不可能。 我已禁用点击效果cbTreeViewdisable(treeItems,3) 有没有办法使任何一个值变灰(或设置一个id),以便用户知道它被禁用。 private TreeView cbTreeView; @Override public void start(Stage primaryStage) { StackPane root = new StackPane(); cbTreeView = new TreeView(); CheckboxTreeItem rootItem = new CheckboxTreeItem(“Serial No.”); final CheckboxTreeItem[] treeItems = new CheckboxTreeItem[6]; for (int i = 0; i < 6; i++) { treeItems[i] = new CheckboxTreeItem(""+i+""); rootItem.getChildren().addAll(treeItems[i]); } root.setExpanded(true); CheckboxTreeItem rootItem2 […]

GWT Cell树,怎么用?

有人可以解释如何使用GWT单元树。 我试图谷歌它但没有找到任何有价值的教程? 谢谢

多个对象类型的JavaFX TreeView? (和更多)

我目前有以下对象数据结构: 项目 字符串名称 ArrayList信息 字符 字符串名称 物品的集合 帐户 字符串名称 字符集 (最多8个) 我想创建一个如下所示的TreeView: Root(invisible) ======Jake(Account) ============JakesChar(Character) ==================Amazing Sword(Item) ==================Broken Bow(Item) ==================Junk Metal(Item) ======Mark(Account) ============myChar(Character) ==================Godly Axe(Item) ======FreshAcc(Account) ======MarksAltAcc(Account) ============IllLvlThisIPromise(Character) ======Jeffrey(Account) ============Jeff(Character) ==================Super Gun(Item) ==================Better Super Gun(Item) ==================Super Gun Scope(Item) 我把所有这些名字都搞定了,显然真正的实现会复杂得多。 如何才能做到这一点? TreeItem要求每个TreeItem与其父类型相同。 我唯一的解决方案是执行以下操作: public class ObjectPointer { Object pointer; String name; } 我的TreeView将是ObjectPointer类型,并且在每行上我将ObjectPointer为Account , Character,或Item 。 […]

JavaFX:如何处理从TreeView拖动项目

对于我正在开发的应用程序,我有一个带有(我自己的类型)TreeItems的TreeView。 这工作正常,我得到的项目按预期显示。 我现在希望能够处理将项目从此TreeView拖动到应用程序窗口的另一部分并让它在那里执行某些操作。 我现在面临两个(至少……)问题: 每当您单击TreeView时,始终选择该项。 这可以预防吗? 在TreeView上添加MouseEvent侦听器时,我得到了能够检测拖动并响应的事件。 但我无法为鼠标事件确定相应的TreeItem。 当然,我需要知道确切的TreeItem才能使拖动工作。 这可能吗? 我试过的一些事情: 我添加了自己的单元工厂,甚至当处理和消耗单元格上的所有鼠标事件时,树中的项目仍然被选中??? 如果我向每个单元格添加一个MouseEvent Handler,我将能够管理拖放,但是如果TreeView中可能有数千个(可能是>> 100,000,而不是所有扩展的强硬)行,那么这不是一个巨大的开销,为TreeView只有一个事件处理程序不是更好吗? (但是,如何确定相应的TreeItem?) TreeView鼠标事件为我提供以下信息: 没有单击单元格: MouseEvent [source = TreeView[id=templateTreeView, styleClass=tree-view], target = TreeViewSkin$1@32a37c7a[styleClass=cell indexed-cell tree-cell]’null’, eventType = MOUSE_PRESSED, consumed = false, x = 193.0, y = 289.0, z = 0.0, button = PRIMARY, primaryButtonDown, pickResult = PickResult [node = TreeViewSkin$1@32a37c7a[styleClass=cell indexed-cell tree-cell]’null’, […]

双击JavaFX 2.2时禁用TreeItem的默认展开/折叠

我正在研究JavaFX 2.2项目,我想在TreeItem上设置鼠标(双)单击事件的自定义处理。 使用treeview.setOnMouseClicked我没有错误地激活我的代码,但问题是TreeItem,在每次鼠标双击时,它在展开和折叠之间切换。 我想这是默认行为,但我如何禁用它?

TreeView – 如何统计所有孩子(包括折叠)

有没有一种方法来获取TreeView对象中的子项数? 我想把所有的孩子,包括孩子的孩子,都计算在内。 getExpandedItemCount()方法仅获取展开的子项的子计数。 有没有办法计算所有孩子的数量,无论他们是否扩大。