Java实现extjs的功能----树

 
在相继的几个月里,EasyJF团队的开源项目有了很多的改进,特别是在奥运年2008的初期,发布了不同的版本都增加里很多的功能。
EasyJWeb1.0-M1
EasyJWeb1.0-M3
的相继发布也发布了EasyJWeb1.1版本。在这个版本中最重要的就是继承了多extjs2.0的支持。
    现在EasyJWeb对extjs的支持已经不是单单的js了,用java就可以编写出extjs的功能。

根据EasyJWeb在对extjs的支持,参考上面的上面的两篇文章,代码的拼凑,结果还搞出来了一个不出的树呢!我现在就把他贴出来供大家欣赏。如图:

 

其代码如下:

public Page doTree(){
	Window win = new Window("win1", "请选择目录", 200, 50);
	win.setClosable(true);
	win.setAutoHeight(true);
	ViewPort vp=new ViewPort();
	TreePanel tree=new TreePanel("tree",(String)null,200);
	TreeNode root=new TreeNode("root","ROOT");
	root.add(new TreeNode("C1","Child 1"));
	root.add(new TreeNode("C2", "Child 3"));
	root.getChildNodes().get(1).add(new TreeNode("C3","SUN zi"));
	root.getChildNodes().get(1).getChildNodes().get(0).getChildNodes().add(new TreeNode("ddd","dd"));
	tree.setRoot(root);
	tree.addListener("click",
      new Function(new String[]{"node"},"alert(node.text);"));
	vp.add(tree);
	win.add(vp);
	win.show();
	this.addComponent(win);
	return componentPage;
}

我们可以在这棵树上添加不同的结点,并且还可以在结点上面添加js的事件呢?
如上面的功能就是tree对象上面用addListener()添加js的事件,如该事件就是当用户点击这这棵树的每个结点的时候就会弹出该结点的文本值(由node.text得到)。而new String[]{"node"}就是指每个结点了啊!

不知道大家多swing编程熟悉吗?就是声明相应的容器和组件,一个加一个就可以了。在这里也像是那样吧!现在我们来分析这个代码吧!

Window win = new Window("win1", "请选择目录", 200, 50);
来声明一个窗口对象。该窗口对象的相关参数如下:
Win1是该窗口的id
请选择目 是该窗口的title
200是该窗口的宽度
500是该窗口的高度
win.setClosable(true);
该窗口上是否有关闭功能,就是右上角的×

win.setAutoHeight(true);
是否自动增高。

ViewPort vp=new ViewPort();
声明一个视图的容器

TreePanel tree=new TreePanel("tree",(String)null,200);
声明一个tree的容器,
Tree是指该树的id
(String)null是指该树的title
200是指该树的宽度

TreeNode root=new TreeNode("root","ROOT");
声明一个树的结点
root.add(new TreeNode("C1","Child 1"));
root.add(new TreeNode("C2", "Child 3"));

在根结点上面添加两个子结点。

root.getChildNodes().get(1).add(new TreeNode("C3","SUN zi"));
root.getChildNodes().get(1).getChildNodes().get(0).getChildNodes().add(new TreeNode("ddd","dd"));
在不同的结点上添加子结点。我相信大家一定能够看懂。

tree.setRoot(root);
把root作为该树的根结点。

tree.addListener("click",
new Function(new String[]{"node"},"alert(node.text);"));
给该树的不同结点上添加js事件。

vp.add(tree);
win.add(vp); 
win.show();
指把TreePanel添加到ViewPort上面,然后把ViewPort添加到window上面,然后把window调用show()方法使其显示。

this.addComponent(win);
给客户端添加window组件。

return componentPage;
返回组件页。

如何上面描述的有错的话,希望大家一一指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值