index.zul
<?xml version="1.0" encoding="utf-8"?>
<window
apply="test.IndexController">
<!--
liulan
<textbox id="txtRoot"></textbox>
-->
<button forward="onLoadFiles" label="Browse..."></button>
<tree id="treeDir" multiple="true" checkmark="true">
</tree>
</window>
IndexController .java
import org.apache.commons.lang.StringUtils;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.util.GenericAutowireComposer;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.Treerow;
import org.zkoss.zul.api.Textbox;
import org.zkoss.zul.api.Tree;
import org.zkoss.zul.api.Treechildren;
public class IndexController extends GenericAutowireComposer {
private static final long serialVersionUID = 5909684044186358102L;
//private Textbox txtRoot;
private Tree treeDir;
public void onLoadFiles() {
//String root = txtRoot.getText();
File roots[] = File.listRoots();
for(int i=0;i<roots.length;i++){
//root= new File(roots[i].toString());
File file = new File(roots[i].toString());
if (!file.exists() || file.isFile()) {
return;
}
if (treeDir.getTreechildrenApi() == null) {
new org.zkoss.zul.Treechildren().setParent(treeDir);
}
createTreeitem(file, treeDir.getTreechildrenApi());
}
}
private void createTreeitem(final File file, Treechildren tc) {
String fileName = StringUtils.isBlank(file.getName()) ? file.getAbsolutePath() : file.getName();
//System.out.println(fileName);
final Treeitem treeitem = new Treeitem(fileName, file);
Treerow rw=treeitem.getTreerow();//treerow add eventListener
if (file.isDirectory()) {
treeitem.setImage("/images/ClosedFolder.gif");
//treeitem.setCheckable()
rw.addEventListener("onClick", new EventListener() {
public void onEvent(Event event) {
try {
File[] fs = file.listFiles();
if (fs == null) {
return;
}
if (!createTreechildren(treeitem)) {
return;
}
for (File f : fs) {
//System.out.println(f.getName());
createTreeitem(f, treeitem.getTreechildren());
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
} else {
treeitem.setImage("/images/file_16x16.gif");
}
treeitem.setParent(tc);
}
private boolean createTreechildren(Treeitem item) {
if (item.getTreechildrenApi() == null) {
new org.zkoss.zul.Treechildren().setParent(item);
return true;
} else {
return false;
}
}
}
转载自http://sun4love.iteye.com/blog/844372,并做了点小小的改动,使用zk版本3.6,没有spring,同时为treerow添加监听,而不是treeitem。treeitem在我 的电脑上实现不了监听。有什么想法可以相互讨论。呵呵
- 大小: 8.7 KB
分享到:
相关推荐
NULL 博文链接:https://marsvaadin.iteye.com/blog/1391556
ZK_DEMO-tree-tree_model.zip zk 的数显示 亲测可用
ZK 开发手册(带目录版本),详细介绍zk的前台开发和后台数据绑定功能,是zk入门的首选.
ZK页面可以在加载时为Tree绑定数据。 方法:分为两步。(方法在doAfterCompose()里面调用)
zk框架,实现手动添加树的节点,在开发的过程中可以方便开发人员的使用
ZK-1239: Grid, Listbox, Tree can support to scroll the content by finger on tablet/mobile device ZK-1240: Input element support HTML5 type, like tel, number, email, and so on ZK-1242: Datebox ...
ZK Eclipse插件 解压至文件夹,如D:\Program Files\MyEclipse 8.5\zkstudio 在Eclipse安装目录下的dropins目录添加link文件如,zk.link,文件内容如下: path=D:\\Program Files\\MyEclipse 8.5\\zkstudio
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框架
zk后台api很全的,对于学习ZK很有用的。
ZK开发手册 ZK开发手册 ZK开发手册 ZK开发手册 ZK开发手册
最新版 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
ZK包括一个基于AJAX事件驱动的引擎(engine),一套丰富的XUL和XHTML,以及一种被称为ZUML(ZK User Interface Markup Language,ZK用户界面标记语言)的标记语言。 有了ZK,您可以利用XUL和XHTML的丰富特性来呈现您的...
Librerias ZK 32 Bits Windows
最新的zk核心jar用到zk的可以下载很实用的东西
ZK 5.0.5 Component Reference ZK 5.0.5 Configuration Reference ZK 5.0.5 Style Guide ZK 5.0.5 ZUML Reference
1.解压后classes\foo\jmtest目录 直接覆盖在 被测的ZK平台对应目录中(WEB-INF下)。 2.修改zk.xml文件,添加下面内容(WEB-INF下) <system-config> <id-generator-class>foo.jmtest.SimpleIdGenerator...
ZK资料学习zk框架的助手,带你步入zk的殿堂。。。。。
zk studion plugins zk studion plugins
zk的chm版的api英文帮助文档. 本人自己制作的。 zk是台湾的一个纯ajax框架。