Messagebox"

From Documentation
Line 95: Line 95:
 
== The Template ==
 
== The Template ==
  
The UI of a message box is based on a ZUL file, so you could customize it by replacing it with your own implementation. It can be done easily by invoking <javadoc method="setTemplate(java.lang.String)">org.zkoss.zul.Messagebox</javadoc>. Notice it affects all message boxes used in an application. It is typically called when the application starts (i.e., in <javadoc method="init(org.zkoss.zk.ui.WebApp)" type="interface">org.zkoss.zk.ui.util.WebAppInit</javadoc> -- for more information, please refer to [[ZK Developer's Reference/Customization/Init and Cleanup|ZK Developer's Reference: Init and Cleanup]]).
+
The UI of a message box is based on a ZUL file, so you could customize it by replacing it with your own implementation. It can be done easily by invoking <javadoc method="setTemplate(java.lang.String)">org.zkoss.zul.Messagebox</javadoc>. Notice that it affects all message boxes used in an application. It is typically called when the application starts (i.e., in <javadoc method="init(org.zkoss.zk.ui.WebApp)" type="interface">org.zkoss.zk.ui.util.WebAppInit</javadoc> -- for more information, please refer to [[ZK Developer's Reference/Customization/Init and Cleanup|ZK Developer's Reference: Init and Cleanup]]).
  
 
To implement a custom template, please take a look at [http://zk1.svn.sourceforge.net/viewvc/zk1/branches/5.0/zul/src/archive/web/zul/html/messagebox.zul the default template].
 
To implement a custom template, please take a look at [http://zk1.svn.sourceforge.net/viewvc/zk1/branches/5.0/zul/src/archive/web/zul/html/messagebox.zul the default template].

Revision as of 02:29, 1 August 2011

Messagebox

Employment/Purpose

It provides a set of utilities to show message boxes.

It is typically used to alert users when an error occurs, or to prompt users for an decision.


Note: it will show different behavior depending on whether you have EventThread enabled or not. (Refer to The_disable-event-thread_Element )

  • When you enable event thread , it will work like a modal window .(It will pause current thread and waiting it to continue.)
  • If you do customization on messagebox , you might need to know that the z-class on mesasge window would be different ,too.

Example

Event Thread Disabled

Here is an example used if the event thread is enabled (default case):

<window title="Messagebox demo" border="normal">
	<button label="Question" width="100px">
		<attribute name="onClick">
	//in disable case . 
	Messagebox.show("Question is pressed. Are you sure?", 
	"Question", Messagebox.OK | Messagebox.CANCEL,
	Messagebox.QUESTION,
	 	new org.zkoss.zk.ui.event.EventListener(){
	 		public void onEvent(Event e){
	 			if("onOK".equals(e.getName())){
	 				alert("user click ok ");
	 			}else if("onCancel".equals(e.getName())){
	 				alert("user click cancel ");
	 			}
	 			
	 			/* Event Name Mapping list
				Messagebox.YES = "onYes";
				Messagebox.NO  = "onNo";
				Messagebox.RETRY = "onRetry";
				Messagebox.ABORT = "onAbort";
				Messagebox.IGNORE = "onIgnore";
				Messagebox.CANCEL = "onCancel";
				Messagebox.OK = "onOK";
	 			*/
	 		}
	 	}
	);
</attribute>
	</button>
</window>

Event Thread Enabled

Here is an example used if the event thread is disabled.

<window title="Messagebox demo" border="normal">
	<button label="Question" width="100px">
		<attribute name="onClick">
	//in enable case . 
	int responseCode = Messagebox.show("Question is pressed. Are you sure?", 
	"Question", Messagebox.OK | Messagebox.CANCEL,
	Messagebox.QUESTION);
	
	if(responseCode == Messagebox.OK){
		alert("user click ok");
	}else if(responseCode == Messagebox.CANCEL){
		alert("user click cancel");
	}
</attribute>
	</button>
</window>

Customization

The Default Title

If the title is not specified in the application's name (returned by WebApp.getAppName()). You could change it by invoking WebApp.setAppName(String).

Since 5.0.6, you could specify the application's name with a library property called org.zkoss.zk.ui.WebApp.name. For example, you could specify the following in WEB-INF/zk.xml:

<library-property>
    <name>org.zkoss.zk.ui.WebApp.name</name>
    <value>My Killer Application</value>
</library-property>

The Template

The UI of a message box is based on a ZUL file, so you could customize it by replacing it with your own implementation. It can be done easily by invoking Messagebox.setTemplate(String). Notice that it affects all message boxes used in an application. It is typically called when the application starts (i.e., in WebAppInit.init(WebApp) -- for more information, please refer to ZK Developer's Reference: Init and Cleanup).

To implement a custom template, please take a look at the default template.

Supported events

Name
Event Type
None None

Supported Children

*NONE

Use cases

Version Description Example Location
     

Version History

Version Date Content
     



Last Update : 2011/08/01

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.