ZK 父窗口与子窗口消息交互
父窗口代码:
前台(test.zul)
<?page title="" contentType="text/html;charset=UTF-8"?>
<zk xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.zkoss.org/2005/zul"
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul">
<window id="testWin" border="none" apply="test.test19">
<button id="testBtn" label="测试"/>
<label id="testLabel" value="ats了解,他不" />
</window>
</zk>
后台(test19.java)
package test; import java.util.HashMap;
import java.util.Map; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.GenericAutowireComposer;
import org.zkoss.zul.Button;
import org.zkoss.zul.Window; public class test19 extends GenericAutowireComposer<Component>{ private static final long serialVersionUID = 1L; private Button testBtn; @Override
public void doAfterCompose(Component comp) throws Exception {
// TODO Auto-generated method stub super.doAfterCompose(comp);
testBtn.addEventListener(Events.ON_CLICK, new EventListener<Event>() { @Override
public void onEvent(Event event) throws Exception {
// TODO Auto-generated method stub Map<String, String> map = new HashMap<String, String>();
map.put("messageItem", "斩.赤红之瞳");
//map.put("testLabel",testLabel);//将控件传给子窗口进行控制
String url = "Exit.zul";
Window window = (Window)Executions.createComponents(url, null, map);
window.doModal();
window.addForward("onRefresh", self, "onKjhen");//1、3参数命名必须以on开关且第三个字母必须大写--见附图 }
});
} public void onKjhen(ForwardEvent event){
alert(event.getOrigin().getData().toString());
} }
附图:

子窗口代码:
前台(Exit.zul)
<?page title="" contentType="text/html;charset=UTF-8"?>
<zk xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.zkoss.org/2005/zul"
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul">
<window id="exitWD" title="消息提示框" border="normal" position="center,center"
action="show: slideDown;hide: slideUp" width="450px" closable="true"
apply="test.Exit">
<div align="center">
<label id="testLb"/>
</div>
<button id="testBtn" label="按扭"/>
</window>
</zk>
后台(Exit.java)
package test; import java.util.Map; import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.Path;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Button;
import org.zkoss.zul.Label;
import org.zkoss.zul.Window; public class Exit extends GenericForwardComposer<Component>{ private static final long serialVersionUID = 1L; Map<?, ?> map;
private Label testLb;
private Button testBtn;
Window exitWD; @Override
public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp);
//获取父页面的控件
Label testbox = (Label) Path.getComponent("/testWin/testLabel");//格式父窗口id+父窗口子控件id
System.out.println(testbox.getValue()); map = Executions.getCurrent().getArg();
if (map.containsKey("messageItem")){
testLb.setValue((String)map.get("messageItem"));
}
else {
testLb.setValue("——————————————");
} testBtn.addEventListener(Events.ON_CLICK, new EventListener<Event>() { @Override
public void onEvent(Event event) throws Exception {
String abc = "testPass";
Events.postEvent("onRefresh", self, abc);
exitWD.detach();
}
});
}
}
ZK 父窗口与子窗口消息交互的更多相关文章
- windows窗口分析,父窗口,子窗口,所有者窗口
(本文尝试通过一些简单的实验,来分析Windows的窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++.Windows编程及MFC经验,还得有一定动手能力.文中可能出现一些术语不统一的现象 ...
- HTML中IFrame父窗口与子窗口相互操作
一.Iframe篇 //&&&&&&&&&&&&&&&&&&am ...
- JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
一.Iframe 篇 公共部分 //父对象得到子窗口的值 //ObjectID是窗口标识,ContentID是元素ID function GetValue(ObjectID,ContentID) { ...
- js window.open() 父窗口与子窗口的互相调用(未必有用)
javascript 父窗口与子窗口的互相调用 <html> <head></head> <body> 主要实现父子关系的页面 window.opene ...
- 总结JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
一.Iframe 篇 //&&&&&&&&&&&&&&&&&&a ...
- #js window.open() 父窗口与子窗口的互相调用【转】
未完整版 javascript 父窗口与子窗口的互相调用 a.html 父页面 <HTML> <HEAD> <meta http-equiv="content- ...
- iframe父窗口和子窗口之间的调用
1>父窗口获取子窗口 js方法 document.getElementById('if1').contentWindow.document: window.frames["if1&qu ...
- 总结js(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
http://hi.baidu.com/yashua839/blog/item/131fdb2fe547ef221f3089af.html一.Iframe 篇 //&&&&am ...
- iframe父窗口和子窗口的调用方法
iframe 父窗口和子窗口的调用方法父窗口调用子窗口 iframe_name.iframe_document_object.object_attribute = attribute_value 例子 ...
- windows 编程 —— 子窗口 与 子窗口控件
目录: 子窗口与主窗口的交互 子窗口控件 按钮类别 button 滚动条类别 scrollbar 静态类别 static 编辑框类别 edit 清单方块 listbox 子窗口与主窗口的交互 创建窗 ...
随机推荐
- SurfaceView
我们先来看下官方API对SurfaceView的介绍 SurfaceView的API介绍 Provides a dedicated drawing surface embedded inside of ...
- 完善SQL农历转换函数
-------------------------------------------------------------------- -- Author : 原著: 改编:ht ...
- 获取APK签名
获取apk签名工具类 import android.content.Context; import android.content.pm.PackageInfo; import android.con ...
- 关于解决haswell赛扬和奔腾 不能安装的问题
打开EFI\CLOVER\config.plist,并找到KernelAndKextPatches字段,在子集内插入下面代码. <key>FakeCPUID</key> < ...
- lr中switch的应用
Action() { char *time; int i,j,length; time=lr_eval_string("{testtime}"); lr_error_message ...
- 分布式缓存技术memcached学习(一)——linux环境下编译memcahed
安装依赖工具 [root@localhost upload]# yum install gcc make cmake autoconf libtool 下载并上传文件 memcached 依 ...
- jquerymobile 基础教程
http://www.w3cplus.com/blog/tags/331.html?page=1
- Hadoop 2.0安装以及不停集群加datanode
Hadoop2.0是对Hadoop1.0全面升级,针对Namenode单点问题,提出了HDFS Federation,让多个NameNode分管不同的目录进而实现访问隔离和横向扩展.诞生了通用的计算框 ...
- 快学Java NIO
Java NIO Tutorial 地址:http://tutorials.jenkov.com/java-nio/index.html Java NIO系列教程译文地址:http://ifeve.c ...
- HTML5中createPattern()
定义和用法 createPattern() 方法在指定的方向内重复指定的元素. 元素可以是图片.视频,或者其他 <canvas> 元素. 被重复的元素可用于绘制/填充矩形.圆形或线条等等. ...