/** copyRight 2010 huaguan
* All rights reserved
* Create on 2010-9-9 下午05:59:27
* by hemin Email:303645105@qq.com
*/
package com;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Tree;
import org.zkoss.zul.Treecell;
import org.zkoss.zul.Treechildren;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.Treerow;
public class AddChild extends GenericForwardComposer {
private static final long serialVersionUID = 7306934226849116514L;
// 前台树的id
private Tree tree;
// 输入框id
private Textbox cellName;
// 当前选择item
private Treeitem treeItemSelected;
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
}
// 点击添加子节点事件
public void onClick$add() {
String cellNameStr = cellName.getValue();
treeItemSelected = tree.getSelectedItem();
addItem(treeItemSelected, cellNameStr);
}
/**
* 在选择的节点下添加子节点
*
* @param treeitem
* 当前选择的节点
* @param Str
* 需要增加的节点名字
*/
private void addItem(Treeitem treeitem, String Str) {
Treecell treecell = new Treecell(Str);
Treerow treerow = new Treerow();
treecell.setParent(treerow);// tree cell只能在 tree row里面
if (treeitem.getTreerow() == null) {// 一个tree item只能有一个Tree
// row,item下无row时首先添加一个row
treeitem.appendChild(treerow);
} else if (treeitem.getTreechildren() == null) {// 一个tree
// item只能有一个可选的Tree
// children
Treechildren treechildren = new Treechildren();// 如果没有tree
// children那就添加tree
// children,并将treeitem添加到treechildren下
Treeitem treeitems = new Treeitem();
addItem(treeitems, Str);// 回调,将tree row 添加到tree item下
treechildren.appendChild(treeitems);// 将tree item添加到新增加的tree
// children下
treeitem.appendChild(treechildren);// 将tree item添加到tree children下
} else {// 一个Tree children下可有多个tree item,当节点下有tree children时,那就直接在tree
// children下添加tree item
Treeitem treeitems = new Treeitem();
addItem(treeitems, Str);// 回调,将tree row 添加到tree item下
treeitem.getTreechildren().appendChild(treeitems);// 将tree item 添加到
// 选择item 下的tree
// children下
}
}
/**
* 点击添加0层节点
*/
public void onClick$addRoot() {
String cellNameStr = cellName.getValue();
Treeitem treeitem = new Treeitem();
// 创建一个单元格
Treecell treecell = new Treecell(cellNameStr);
Treerow treerow = new Treerow();
// 将单元格设置成tree row的孩子,这里不能appendChild
treecell.setParent(treerow);
// 这里不能appendChild,因为一个item只能有一行,但可以有一个Tree children
treerow.setParent(treeitem);
// 在树的第一个孩子,就是Tree children下添加一个新的item
tree.getFirstChild().appendChild(treeitem);
}
}
前台页面 index.zul:
<?page title="手动添加树"?>
<window title="Hello World!!" border="normal" width="400px"
height="400px" apply="com.AddChild">
<tree id="tree">
<treechildren>
<treeitem>
<treerow>
<treecell label="item1" />
</treerow>
<treechildren>
<treeitem>
<treerow>
<treecell label="item2" />
</treerow>
</treeitem>
</treechildren>
</treeitem>
</treechildren>
</tree>
<div>
<textbox id="cellName"/>
<button id="add" label="确认添加孩子节点"/>
<button id="addRoot" label="确认添加0层节点"/>
</div>
</window>
写的粗糙 多多指教
- 大小: 20.4 KB
分享到:
相关推荐
zk框架,实现手动添加树的节点,在开发的过程中可以方便开发人员的使用
ZK树的递归实现
改工具是利用go语言编写而成,主要是为了来修改zookeper上执定路径下的属性值,非常方便,可避免重复造轮子,减少开发工作量
zk的主页面的源代码,在myeclipse里新建一个web项目,把zk-demo里src的文件放到web项目的src下,WebContent放到webroot下就可以生成zk的主界面
接下来,我们通过下面命令来创建test1的持久子节点:我们再使用下面命令创建一个test2节点:持久序号节点上面,我们已经创建了test2持久节点,如果继续创建
NULL 博文链接:https://chengjianxiaoxue.iteye.com/blog/2277358
ZKInspector:zookeeper节点管理工具,可以很方便地增删改查ZK集群当前的节点状态
利用zookeeper的临时顺序节点实现分布式锁,同时控制多个quartz示例协作执行的代码。
使用JAVA代码实现zookeeper服务的节点删除功能,代码带有注释简单易懂
ZooInspector 用于查看zookeeper的节点信息 内含文件ZooInspector.zip,执行JAR包:zookeeper-dev-ZooInspector.jar
zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架 zk web框架
zookeeper可以递归删除数据节点, 当zookeeper版本小于3.4的时候不可以删除非空目录的节点,本程序可以递归删除
zk后台api很全的,对于学习ZK很有用的。
zookeeper的客户端使用,图形化界面查看节点信息。只需启动bat脚本,输入连接ip即可
ZK开发手册 ZK开发手册 ZK开发手册 ZK开发手册 ZK开发手册
zk-6.5.0.zip ZK 6.5.0 Sep 12, 2012 * Features ZK-447: The file upload allows users to drag and drop local files (HTML5) ZK-1241: ZK Client Widget support swipe event for tablet/mobile device ZK-...
ZK Eclipse插件 解压至文件夹,如D:\Program Files\MyEclipse 8.5\zkstudio 在Eclipse安装目录下的dropins目录添加link文件如,zk.link,文件内容如下: path=D:\\Program Files\\MyEclipse 8.5\\zkstudio
最新版 ZK SRC最新版 ZK SRC最新版 ZK SRC最新版 ZK SRC最新版 ZK SRC最新版 ZK SRC最新版 ZK SRC最新版 ZK SRC最新版 ZK SRC
ZK 8.0.0端参考 ZK 8.0.0组件开发的必需品 ZK 8.0.0组件引用 ZK 8.0.0配置参考 ZK 8.0.0开发人员的参考 ZK 8.0.0风格定制指南 ZK 8.0.0 ZUML参考 zk-mvvm-book
Zookeeper以及kafka单节点发、服务部署