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;
返回组件页。
如何上面描述的有错的话,希望大家一一指出。