`
2277259257
  • 浏览: 518631 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ZK----第七章 ZUML页面及XUL组件集

 
阅读更多

基本组件
Label组件:89
用来显示一段文字
<label  value=”hello”/>
属性:pre、hyphen、maxlength、multiline

 

 

按钮组件:90
两种:button和toolbarbutton
属性:
 Label:名称、image:按钮显示的图像、(dir:控制label和image的显示位置,orient:控制布局为横向或纵向)
<button  label=”left” image=”/img/folder.gif” dir=”reverse” orient=”vertical”  width=”125px”/>

事件:
onClick:指定一个监听器
href:指定一个URL
如果都指定,href属性有更高的优先级,也就是说onClick事件不会被发送
<button  onClick=”do()”/>
<button  href=”/another_page.zul”/> 等价于下面的 (在客户端处理)
<button  onClick=”Excutions.sendRedirect(&quot; another.zul &quot;)”/>(转到服务器端处理)

 

 

单选或单选组:
一个单选按钮是可以被打开或关闭的组件;
单选按钮可以被分组,成为radiogroup;同一组同一时间仅有一个按钮被选中
<radio  label=”单个”/>
<radiogroup  onCheck=”alert(self.selectedItem.label)”>
 <radio  label=”1”/>
 <radio  label=”2”/>
 <radio  label=”3”/>
</radiogroup>

 


图像:92
静态图像:
<image  src=”/some/my.jpg”/>
动态图像:使用setContent方法为image组件指定图像内容,图像会在浏览器端动态更新
Location: <textbox  onChange=”updateMap(self.value)”/>
Map:   <image  id=”image”/>
<zscript>
 Void  updateMap(String location) {
  If (location.length() > 0)  image.setContent (new  MapImage(location));
 }
</zscript>

 


音频:95
Audio组件用来在浏览器端播放音频。像image一样,可以使用src属性指定音频的URL或使用setContent方法指定动态生成的音频

 

 

输入控件:95
Textbox
Intbox
Decimalbox
Doublebox
Datebox
Combobox
Bandbox

属性:
Type:可以为textbox组件指定值为password的type属性,这样不显示用户输入的内容
           Username: <textbox/>
           Password: <textbox  type=”password”/>
Format:可以控制输入控件的格式,默认为null。对于datebox,意味着yyyy/MM/dd
          <datebox  format=”MM/dd/yyyy”/>

          可以动态的改变格式,如下:
          <datebox  id=”db”/>
         <button  label=”set MM-dd-yyyy” onClick=”db.setFormat(&quot; MM-dd-yyyy &quot;)”/>
Constraint:控制输入控件的值。
        no positive,no negative,no zero适用于Intbox和decimalbox;

        no past,no today适用于datebox;no empty适用于任何组件;

        正则表达式仅适用于字符串类型组件,如textbox,combobox和bandbox
datebox的特殊约束:支持一个日期范围
       <datebox  constraint=”between  20071225 and 20071203”/>
       <datebox  constraint=”before    20071225”/>
       <datebox  constraint=”after     20071225”/>
定制属性:(实现了org.zkoss.zul.Constraint接口 98页)

onChange事件:
当用户改变了输入控件的内容,输入控件会使用onChange事件通知应用程序
onChanging事件:
当用户正在改变输入控件的内容时,输入控件使用onChanging事件通知应用程序
要获取用户输入的内容,如下方式访问事件的value属性:
 <grid>
  <rows>
   <row> <textbox  onChanging=”copy.value=event.value”/> </row>
   <row> <textbox  id=”copy”  readonly=”true”/>   </row>
  </rows>
 </grid>

 


日历组件:
Calendar展示了一个日历并允许用户从中选择一个日期
<hbox>
 <calendar  id=”cal”  onChange=”in.value=cal.value”/>
 <datebox   id=”in”  onChange=”cal.value=in.value”/>
</hbox>
属性:
 Value:设置及获取选中的日期
 Compact:ture/false,默认值为本地

 

 

进度条:
<progressmeter  value=”10”/>
属性:
 Value:必须在0到100的范围内取值

 

 

Slider组件:
以滚动方式来指定值
<slider  id=”slider”  onScroll=”Audio.setVolume(slider.curpos)”/>
Slider接收在0到100范围内的值,可使用maxpos属性来改变允许的最大值

 

 

计时器:
Timer是一个不可见的组件,用于在指定的时刻或一段时间内将onTimer事件发送到服务器,可使用start和stop方法控制timer
<window  title=”Timer demo”  border=”normal”>
 <label  id=”now”/>
 <timer  id=”timer”  delay=”1000”  repeats=”true”  onTimer=”now.setValue(new  Date().toString())”/>
 <button  label=”Stops timer”  onClick=”timer.stop()”/>
 <button  label=”Starts timer”  onClick=”timer.start()”/>
</window>

 

 

分页:
<paging  totalSize=”100”  pageSize=”20”/>
Listbox和grids都支持paging

 

窗口:104
Window像HTML中的DIV用于为组件分组,不同于其他组件
1. window是一个ID空间所有者,可包含任意组件包括自身,如果通过标识指定,可使用getFellow方法找到
2. window可被重叠,弹出和嵌入
3. window可以是对话框
<window  id=”win”  title=”窗口”  border”normal”  width=”350px”>
 <caption  image=”/img/coffee.gif”  label=”你好”/>
 <toolbar>
  <toolbarbutton  label=”save”/>
  <toolbarbutton  label=”cancel”/>
 </toolbar>
 请单选:
 <radiogroup>
  <radio  label=”ZK”/><radio  label=”JSF”/>
 </radiogroup>
 请选择:
 <checkbox  label=”hello,world”/>
</window>

属性:
Closable:设为true,close按钮会显示在window组件中,这样可以关闭window
Sizable:允许用户重定义window大小,设为true,用户可拖曳边框改变其大小
Sclass:  ZK支持四种样式:embedded,overlapped,popup,wndcyan
ContentStyle:可改变window中内容块
 <window  title=”hello”  border=”normal”  contentStyle=”background:yellow”>背景颜色
<window  title=”hello”  border=”normal”  contentStyle=”overflow:auto”>滚动条
Border:是否显示边框,默认的样式仅支持normal和none

 


弹出框模式:108页
Position:控制重叠/弹出/modal的位置 

通用对话框
消息框:
Alert(“Wrong”);========Messagebox.show(“Wrong”);

 

 

文件上传对话框:
<button  label=”upload”>
 <attribute  name=”onClick”>
  {
   Object  media = Fileupload.get();
   If (media instanceof  org.zkoss.image.Image) image.setContent(media);
   else if (media != null)  Messagebox.show(
“not an image:”+media,”Error”,Messagebox.OK ,Messagebox.ERROR);
  }
 </attribute>
</button>
一次上传多个文件对话框:


Fileupload组件:
Fileupload不是一个modal对话框,是一个组件,所以可以和其他组件一起插入文字间
注:除了静态的get方法用于打开文件上传对话框,org.zkoss.zul.Fileupload本身为一个组件
<fileupload  onUpLoad=”img.setContent(event.media)”/>

事件:
onUpload:按下上传按钮后,onUpload事件及UploadEvent事件的一个实例被送出,可以使用getMedia或getMedias方法获取上传文件的内容
onClose:如果此事件实现定制行为,fileupload组件会失效,即所有的域会被清空或重设

 

 

下载对话框
<button  label=”download”>
 <attribute  name=”onClick”>
  {
   Java.io.InputStream  is =
desktop.getWebApp().getResourceAsStream(“/download.html”);
   if (is != null)  Filedownload.save(is ,”text/html” , “download.html”);
   else alert(“/download.html not found”);
  }
 </attribute>
</button>


 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    ZK-quickstart-3.0.0-cn快速入门中文版

    - 在二进制版本的结构和内容(第四章)中,`dist\lib\ext` 下的 `jfreechar.jar` 应为 `jfreechart.jar` 这些问题可能会影响资源包的正常使用,请在安装和配置时特别注意。 #### 结语 通过这篇文档,我们不仅了解...

    ZK 6.5.0版本全面文档,供专业开发,学习 zk-mvvm-book ,ZK 8.0.0 Client-side Reference

    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-quickstart-3.6.1

    本指南为 ZK 的新手提供了全面的入门指导,从环境搭建到创建第一个应用,再到运行示例应用,都进行了详细的介绍。通过遵循这些步骤,即使是完全没有 Java 背景的开发者也能快速掌握 ZK 的基本操作,并能够开始构建...

    ZK-devguide

    ZK包括一个基于AJAX事件驱动的引擎(engine),一套丰富的XUL和XHTML,以及一种被称为ZUML(ZK User Interface Markup Language,ZK用户界面标记语言)的标记语言。 有了ZK,您可以利用XUL和XHTML的丰富特性来呈现您的...

    zk-bin-6.5.1.1.zip

    ZK框架是一个用JAVA实现的简单但是功能强大的表现层框架。...可以做到没有JavaScript,只通过ZUML(ZK User Interface Markup Language)这种标识语言即可做到界面创建和事件响应。 此为zk-bin包6.5.1版本

    ZK开发手册(中文教程)

    第6到8章介绍ZUML(ZK User Interface Markup Language)语言,包括ZUML语言本身以及如何在ZUML页中善用XUL及XHTML组件. 第9章介绍巨集组件,第10章则是说明高级功能.第11章以后是介绍一些客制化方法或是与外部系统(如...

    ZK中文操作手冊.pdf

    #### 七、ZUML 页面及 XUL 组件集 - **基本组件**:ZK 提供了丰富的 UI 组件库,包括标签、按钮、单选按钮等。 - **布局组件**:用于组织 UI 元素的布局,如 box、grid 等。 - **特殊组件**:如窗口、树控件等,...

    《ZK开发手册(ajava.org整理版)》

    ZK包括一个基于 AJAX事件驱动的引擎(engine),一套丰富的XUL和XHTML,以及一种被称为ZUML(ZK User Interface Markup Language,ZK用户界面标记语言)的标记语言。 有了ZK,您可以利用XUL和XHTML的丰富特性来呈现您的...

    ZK前端框架

    最新的前端框架ZK开发必备 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 Developer Guide

    - 除了通过 ZUML(ZK 的 XML 描述语言)创建组件外,还可以直接使用 Java API 创建组件。 - 这种方法适用于需要更精细控制的情况。 - **不使用 ZUML 开发 ZK 应用程序:** - 虽然 ZUML 提供了一种直观的方式来...

    ZK(AJAX开发工具)开发手册

    ZK不仅仅是一款简单的框架,它还包含了AJAX事件驱动引擎、一套丰富的界面组件以及ZK用户界面开发语言(ZUML),这些特性共同构成了ZK的核心竞争力。 **传统Web应用程序** - 传统Web应用程序通常采用表单提交的方式...

    zk学习文档

    ### zk学习文档知识点详解 #### 一、简介 **ZK**是一种先进的开源框架,用于构建高度交互式的网络应用程序。它结合了服务器端组件模型与客户端JavaScript的强大功能,从而简化了开发过程,使得开发者能够专注于...

    zk框架学习

    ### ZK框架学习知识点 #### 一、ZK框架简介 ZK框架是一个采用Java语言编写的强大且简便的表现层框架。它最显著的特点之一是内置了基于Ajax的事件驱动引擎,这使得开发者无需编写任何JavaScript代码即可实现复杂的...

    zk developeguide3.5.pdf

    - **`zscript`元素**:解释了`zscript`元素的作用及如何在ZK中编写脚本代码。 - **脚本语言**:介绍了ZK支持的脚本语言,如JavaScript等。 - **独立脚本文件**:讲解了如何将脚本代码放在单独的文件中。 - **`...

    基于Java的实例源码-Ajax框架 ZK.zip

    2. **创建ZUML页面**:编写ZUML文件,定义UI组件和它们的交互行为。例如,创建一个简单的按钮,可以写成: ```xml &lt;window title="Hello ZK"&gt; !" onClick="handleClick"/&gt; ``` 3. **编写Java控制器**:在后台...

    zk 安装框架

    ZK提供了多种方式来创建和运行你的第一个应用,无论你是使用Eclipse、NetBeans还是手动设置,都能找到适合的教程。这些教程通常会涵盖从项目创建到运行测试的完整流程,帮助你快速上手。 - **Eclipse with ZKStudio...

    zkstudio_2.0.0_indigo JAVA Web前端框架

    ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了多样丰富、可重复使用的XUL与HTML组件,以 及以 XML 为基础的使用接口设计语言 ZK User-interfaces Markup Language (ZUML)。

    zk开发指南

    - **组件库**:提供了超过60个XUL组件和80个XHTML组件,如listbox、slider、audio等,还包括FCKeditor和Dojo组件的支持。 - **界面设计语言**:采用ZUML(ZK User-interfaces Markup Language)作为界面设计语言,...

    ZK开发手册 ZK开发手册

    - **丰富的UI组件库**:ZK内置了一套强大的XUL和XHTML组件库,使得开发者可以快速构建美观且功能丰富的用户界面。 - **ZUML标记语言**:ZK提供了一种名为ZUML的标记语言,用于定义用户界面的布局和组件,大大简化了...

Global site tag (gtag.js) - Google Analytics