【发布时间】:2018-01-26 08:33:31
【问题描述】:
出于学习目的,我想从 Enum 动态构建一个树视图,我在其中定义了树项及其关系。
MenuContext 枚举
public enum MenuContext {
APP, // Tree menu of application
DIALOG; // Tree menu on dialog
}
TreeItems 枚举
public enum TreeItems {
AM_ROOT(MenuContext.APP, null, ""),
NODE_1(MenuContext.APP, AM_ROOT, "Menu node 1"),
NODE_2(MenuContext.APP, AM_ROOT, "Menu node 2"),
NODE_2_1(MenuContext.APP, NODE_2, "Menu node 2.1"),
NODE_2_2(MenuContext.APP, NODE_2, "Menu node 2.2"),
NODE_2_3(MenuContext.APP, NODE_2, "Menu node 2.3"),
NODE_2_4(MenuContext.APP, NODE_2, "Menu node 2.4"),
NODE_3(MenuContext.APP, AM_ROOT, "Menu node 3"),
NODE_4(MenuContext.APP, AM_ROOT, "Menu node 4"),
DM_ROOT(MenuContext.DIALOG, null, ""),
DM_NODE_1(MenuContext.DIALOG, DM_ROOT, "Dialog menu node 1"),
DM_NODE_2(MenuContext.DIALOG, DM_ROOT, "Dialog menu node 2"),
DM_NODE_2_1(MenuContext.DIALOG, DM_NODE_2, "Dialog menu node 2.1"),
DM_NODE_2_2(MenuContext.DIALOG, DM_NODE_2, "Dialog menu node 2.2"),
DM_NODE_2_3(MenuContext.DIALOG, DM_NODE_2, "Dialog menu node 2.3"),
DM_NODE_2_4(MenuContext.DIALOG, DM_NODE_2, "Dialog menu node 2.4"),
DM_NODE_3(MenuContext.DIALOG, DM_ROOT, "Dialog menu node 3");
// Necessary code to get values of single enum item
}
使用这种结构,我尝试根据Answer - fill javaFX treeView dynamically 上的答案动态创建树,我已经看到问题和答案被引用到数据库以存储树信息。
所以我的问题是我如何将构建算法调整为 Enum 数据源,因为当我尝试使用建议的代码动态构建树并且该答案时,我可以获得一个接一个的树项目列表,而不是按父项分组.
【问题讨论】: