如何使用ZK getFellow()方法?
我将一堆选项卡从 zul 文件传递到 java 文件,如下所示:
tabs.zul
<tabs>
<tab id="tab1" label="Tab1"> </tab>
<tab id="tab2" label="Tab2"> </tab>
</tabs>
<zscript>
testTabs = new TestTabs();
Tab[] tabs = {tab1, tab2}
testTabs.registerTabs(tabs)
</zscript>
TestTabs.java
public class TestTabs {
....
private HashMap<String,Tab> tabMap;
void registerTabs (Tab[] tabs) {
this.tabMap = new HashMap<String,Tab>();
for (Tab t: tabs) {
this.tabMap.put(t.getId(),t);
}
}
if(condition) {
tabMap.get("tab1").setVisible(true);
tabMap.get("tab2").setVisible(true);
}
}
现在,我想使用 Hashmap 访问选项卡是一种迂回方式。使用 getFellow(String id) 方法访问选项卡会简单得多,对吧?但是,我不确定如何实施。有人可以帮我解决这个问题吗?
谢谢, 索尼
I am passing a bunch of tabs from a zul file to a java file like so:
tabs.zul
<tabs>
<tab id="tab1" label="Tab1"> </tab>
<tab id="tab2" label="Tab2"> </tab>
</tabs>
<zscript>
testTabs = new TestTabs();
Tab[] tabs = {tab1, tab2}
testTabs.registerTabs(tabs)
</zscript>
TestTabs.java
public class TestTabs {
....
private HashMap<String,Tab> tabMap;
void registerTabs (Tab[] tabs) {
this.tabMap = new HashMap<String,Tab>();
for (Tab t: tabs) {
this.tabMap.put(t.getId(),t);
}
}
if(condition) {
tabMap.get("tab1").setVisible(true);
tabMap.get("tab2").setVisible(true);
}
}
Now, I guess using Hashmaps to access a tab is a roundabout way. Using a getFellow(String id) method to access a tab would be much simpler, right ? But, I am not sure how to implement that. Can someone help me with this?
Thanks,
Sony
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有几种方法可以做到这一点:
然后在您的班级中,您可以使用
Tab tab1 = (Tab) this.getFellow("tab1");
然后在你的类中声明
private Tab tab1;
,你就可以立即使用它。请注意 use 和 apply 关键字之间的区别。如果您使用第二种方法,请确保变量的名称与组件的 ID(“tab1”)匹配。
There are several ways to do that:
<window id="myWindow" use="package.to.your.ClassThatExtendsWindow">
<!-- your tabs go here -->
</window>
Then in your class you can use
Tab tab1 = (Tab) this.getFellow("tab1");
<window id="myWindow" apply="package.to.your.ClassThatExtendsGenericForwardComposer">
<!-- your tabs go here -->
</window>
Then in your class declare
private Tab tab1;
and you can use it right away.Note the differente bewtween the use and apply keywords. If you use the second approach, make sure that the name of your variable matches the id of your component ("tab1").
getFellow()方法可以用在ZK的组件上。
用户可以通过组件的 ID 来访问该组件
如果您在应用程序上使用 ZK MVC 方式,
。您可以将您的**“作曲家”保存到桌面,然后您可以访问页面的任何部分。
The getFellow() method can be used on ZK's component.
Users can get access the component by it's ID
if you're using ZK MVC way on your application.
you can save your **"composer" into the desktop, then you can access any part of the page.