Released on March 2, 2009.
Getting Simpler and Richer
New Feature Highlight
- Listbox supports auto-soring on fields.
- Applet Component allows you to embed Java Applet.
- Debug mode for testing is provided.
- CSS and images are simplified and optimized for better performance.
- New Features
123 XUL and 83 HTML off-the-shelf components.
Tabbox, grid, listbox, tree, menu, combobox, bandbox, datebox, chart,
hbox, vbox, window, slider, paging, audio, image, timer, include, iframe...
Drag-and-drop supported by all components, such that users can drag
components and drop them to any other or particular set of components.
Context menus and customizable tooltips supported by all components,
such that a menu or any popup appears when user click, right-click or
move the mouse over a component.
Customizable sorting of listbox, grid and children of any component
with 100% Java codes (
Auto-completion for combobox.
Load on demand with writing Java codes.
Live data for listbox.
Grids, listboxes and trees with sizable columns.
All components are cloneable and serializable.
Validation and formatting for any input components, such as regular
100% Java API of Google Maps,
and Timeline components.
Event-driven, server-centric model
More than 20 events are supported:
All events are processed at the server. No hurdle to communicate between clients
All events are synchronized. No racing condition to worry about.
ZK User-interface Markup Language (ZUML).
Rich user interface could be designed in ZUML as simple as authoring
- Powerful yet intuitive control flow by the
Scripting in EL expressions and your favorite scripting languages,
include but not limited to Java,
Ruby and Groovy.
Hot changes and updates without restarting your Web applications.
Annotations that allow a page to acess database with zero Java codes.
Browser history management.
Add states to browser's back button history. Then, users can bookmark
and use the back and forward button to navigate different
states of the same ZK desktop.
Simple yet boundless component model.
Macro components. Developing a full-feature new component
by using another ZUML pages.
Inheritable customization. Developing a new component by extending
Seamlessly and easily to encapsulate pure-client components as ZK
components with 100% Java API.
Customizing components with pre-compiled Java classes, or by scripting in
your favorite scripting languages,
include but not limited to Java,
Ruby and Groovy.
The choice is yours.
Simple yet flexible threading model.
Thread-safe component handling.
True server-side Modal dialog.
Suspend and resume event listeners freely.
100% Customizable User-Interface factory.
Loading ZUML pages not only from Web contents but also any repository
such as database.
Customizing the features of sessions, desktops and pages.
- New Features:
- 2173627: A way to specify where to gen ZK tags in JSP (incl zul)
- 2276253: Allow Tab key in textbox
- 2285243: SelectEvent getKeys()
- 2314655: Apply composers on custom components
- 2433264: Able to access the URI of the error page
- 2437121: Make DHtmlLayoutServlet as optional
- 2448278: Chart could provide default model
- 2493161: A way to instantiate a macro programmingly w/o macro declaration
- 2495058: A way to use the same desktop UUID after reboot
- 2512695: Able to change UiFactory, IdGenerator.. in WebAppInit
- 2494920: Enhance auto sorting to sort on fieldnames
- 2512555: Converter convert date to String with annotated format
- 2530133: Column support default comparator like listheader
- 2559476: A way to turn off the filtering of clicks
- 1733461: throw new WrongValuesException(WrongValueException)
- 1874325: Listbox add a setSelectedItems(Set)
- 2041682: Add 'separator' to menubar and toolbar
- 2062056: Max Upload Size for FileUpload
- 2025262: A way to close a group of ErrorBoxes
- 2100105: Applet zul Component
- 2495414: Config to disable shadow for Window
- 2362560: Extend "use" to accept Object like "apply"
- 2295541: Listhead/listheader/column/columns support set/getValue method
- 2191823: Localize loading message
- 2614052: Interface for Scopes
- 2313219: Support GenericForwardComposer in groovy
- 2016068: provide ability to load zk.xml from classpath
- 2619208: A way to specify the charset to load i3-label*.properties
- Bug fixes:
- 2154845: tab switch in Java - setImage makes layout go crazy
- 2526699: Tabpanel display issue in IE7
- 2090136: IE6 only - Horizontal tabbox borderline disjoined.
- 2386650: NullPointerException when create tabs in onTimer()
- 2432784: Tabbox error in IE7
- 2436434: Tabbox scroll to much in IE 7
- 2439090: Groupbox onVisi not called when visible.
- 2443726: Iframe with PDF cannot show when hidden (Firefox only)
- 2433176: Radiogroup.getSelectedItem and Index returns first item
- 2446672: toolbarbutton, disibled,can click image to fire event
- 2446682: Components.addForwards() occus an dead loop
- 2448170: i3-label-en.properties never use
- 2448099: FF only.SetAttr fail when addEventListener with $ event name
- 2448987: Unexpected ListModelList.subList() behaviour
- 2464484: Binding selectedItem of Radiogroup causes StackOverflowExcep
- 2468048: Namespace is not consitent with component hierarchy
- 2480892: Native component with forEach and non-native child incorrect
- 2488792: SetOpen in Group and Listgroup are failure
- 2487562: Keyboard problem in textbox inside a listbox (Firefox 3.0.5)
- 2463857: Popup window positioning problem and wierd behaviour!
- 2465826: Listbox.focus() does not work on Firefox
- 2493245: zscript failed badly if macro's setMacroURI before setParent
- 2522437: Error display after invalidate desktop
- 2523090: Some binding load twice when binder.loadAll()
- 2525344: Exception when changing page's ID in Initiator
- 2555730: Unnecessary String cast on 'series' in SimpleCategoryModel
- 2562880: Popup should be closed when click on the arrow of the sort
- 2580627: extendlet-check-period has no effect to DspExtendlet
- 2583507: Executions.createComponents not work in server push
- 2587158: <??page> failed to recognize single quote
- 2603453: Wrong dependency in zcommon-3.5.2.pom
- 2614854: Strange Menu Icon when font set to Large
- 2585234: Add 'mold=paging" to Grid Grouping causes display problems
- 2568653: bug PortalMoveEvent miss the droppedindex
- 2580752: Listbox with paging and multiple, returns the wrong selected
- 2539896: Checkmark in header of listbox has no effect (Opera only)
- 2515562: the DOM tree parent of calendar in datebox is not datebox
- 2492748: onClientInfo still firing after session invalidates
- 2448909: Path.getComponent throws ComponentNotFoundException
- 2519885: Paginated tree with multiple selection checkmark
- 2564298: Clear a Datebox with constraint
- 2630168: DataBinder.fetchValue throws unnecessary exception for map
- 2614901: Menu with key down/up fail in IE
- 2219660: Menus don't work over HTML component if PDF inside
- 2635417: Slider scale mold no effect when mouse hover on the icon
getMoldSclass is deprecated and replaced with
we are going to provide ZK Cascading Classes that allow developers
to configure the CSS with the component name.