我尝试将树添加到 1 个选项卡:
Tab tmp = new Tab();
TreeNode root = new DefaultTreeNode("root",null);
TreeNode test = new DefaultTreeNode("test",root);
tmp.getChildren().add((UIComponent)root);
谁能帮我?
我尝试将树添加到 1 个选项卡:
Tab tmp = new Tab();
TreeNode root = new DefaultTreeNode("root",null);
TreeNode test = new DefaultTreeNode("test",root);
tmp.getChildren().add((UIComponent)root);
谁能帮我?
我建议你使用Accordion Panel - Model
Accordion 可以显示模型支持的动态选项卡数量。由于选项卡是即时生成的,因此也很容易实现添加/删除选项卡。
看一下这个例子...... INMO 它是你应该实现任务的方式......(要容易得多,它是 primefaces 在展示中实现它的方式)
扩展给定的示例尝试
添加到选项卡中
<p:tree value="#{player.root}" var="node" id="tree">
<p:treeNode id="treeNode">
<h:outputText value="#{node}" id="lblNode"/>
</p:treeNode>
</p:tree>
并添加到播放器类...
private TreeNode root;
public initTree() {
root = new DefaultTreeNode("Root", null);
TreeNode node0 = new DefaultTreeNode("Node 0", root);
TreeNode node1 = new DefaultTreeNode("Node 1", root);
TreeNode node2 = new DefaultTreeNode("Node 2", root);
TreeNode node00 = new DefaultTreeNode("Node 0.0", node0);
TreeNode node01 = new DefaultTreeNode("Node 0.1", node0);
TreeNode node10 = new DefaultTreeNode("Node 1.0", node1);
TreeNode node11 = new DefaultTreeNode("Node 1.1", node1);
TreeNode node000 = new DefaultTreeNode("Node 0.0.0", node00);
TreeNode node001 = new DefaultTreeNode("Node 0.0.1", node00);
TreeNode node010 = new DefaultTreeNode("Node 0.1.0", node01);
TreeNode node100 = new DefaultTreeNode("Node 1.0.0", node10);
}
public TreeNode getRoot() {
return root;
}
这是 player.java 的来源
编辑
在查看了 循环内 p:tree 的问题 (ui:repeat, p:dataTable, ...)
和
问题 3640:在使用 p:tree 循环内保存状态期间出现 NullPointerException(ui:repeat、p:tabView、...)
似乎有一个关于这个功能的开放错误......