Message Box"

From Documentation
Line 1: Line 1:
 
{{ZKDevelopersReferencePageHeader}}
 
{{ZKDevelopersReferencePageHeader}}
  
In additions to composing your own window for displaying a message, ZK provide a simple utility: <javadoc>org.zkoss.zul.Messagebox</javadoc><ref>If you are using [[ZK Developer's Reference/UI Composing/ZUML/Scripts in ZUML|zscript]], there is a shortcut called <code>alert</code> as follows
+
In additions to composing your own window for displaying a message, ZK provides a simple utility: <javadoc>org.zkoss.zul.Messagebox</javadoc><ref>If you are using [[ZK Developer's Reference/UI Composing/ZUML/Scripts in ZUML|zscript]], there is a shortcut called <code>alert</code> as follows
 
<source lang="xml">
 
<source lang="xml">
 
<button label="Show" onClick='alert("The file has been removed successfully.")'/>
 
<button label="Show" onClick='alert("The file has been removed successfully.")'/>
Line 34: Line 34:
 
</source>
 
</source>
  
Notice that the invocation of <tt>show</tt> is returned immediately without waiting for user's clicks<ref>If you turned on the use of event thread, the invocation will be stalled until the user clicks a button. It is easier but threading is not cheap. For more information, please refer to [[ZK Developer's Reference/UI Patterns/Event Threads/Message Box|the Event Threads section]].</ref>.
+
ZK will close the message box when a user clicks a button, you don't need to call a method to close it.
  
There are a lot of more utilities, such as the button's order and label. Please refer to [[ZK Component Reference/Supporting Classes/Messagebox|ZK Component Reference: Messagebox]] and <javadoc>org.zkoss.zul.Messagebox</javadoc> for more information.
+
Notice that the invocation of <code>show()</code> returns immediately without waiting for a user's clicking<ref>If you enabled the event thread, the invocation will be stalled until the user clicks a button. It is easier but threading is not cheap. For more information, please refer to [[ZK Developer's Reference/UI Patterns/Event Threads/Message Box|the Event Threads section]].</ref>.
 +
 
 +
There are a lot more options for a message box, such as the button's position and the label. Please refer to [[ZK Component Reference/Supporting Classes/Messagebox|ZK Component Reference: Messagebox]] and <javadoc>org.zkoss.zul.Messagebox</javadoc> for more information.
  
 
<blockquote>
 
<blockquote>
Line 44: Line 46:
  
 
= Close on Exceptions =  
 
= Close on Exceptions =  
When an exception happens inside a message box's event listener and handled by a ZK error page. The message box doesn't disappear, and it might cover the information on the error page. To avoid this, you can:
+
When an exception happens inside a message box's event listener and is handled by a ZK error page. The message box doesn't disappear, and it might cover the information on the error page. To avoid this, you can:
 
* create a modal window in an error page, then the modal window will be on top of the message box.
 
* create a modal window in an error page, then the modal window will be on top of the message box.
 
* catch an exception inside a message box's event listener and detach the message box.
 
* catch an exception inside a message box's event listener and detach the message box.

Revision as of 06:35, 2 August 2021

In additions to composing your own window for displaying a message, ZK provides a simple utility: Messagebox[1]. For example,

Messagebox.show("The file has been removed successfully.");

DrMessagebox.png

If you could specify a different icon for difference scenario, such as alerting an error:

Messagebox.show("Unable to delete the file", null, 0, Messagebox.ERROR);

DrMessagebox-error.png

Another typical use is to confirm the users for a decision, such as

Messagebox.show("Are you sure you want to remove the file?", null,
   Messagebox.YES+Messagebox.NO, Messagebox.QUESTION,
   new EventListener<MouseEvent>() {
      public void onEvent(MouseEvent event) {
          if (Messagebox.ON_YES.equals(event.getName()))
             ;//delete the file
      }
   });

ZK will close the message box when a user clicks a button, you don't need to call a method to close it.

Notice that the invocation of show() returns immediately without waiting for a user's clicking[2].

There are a lot more options for a message box, such as the button's position and the label. Please refer to ZK Component Reference: Messagebox and Messagebox for more information.


  1. If you are using zscript, there is a shortcut called alert as follows
    <button label="Show" onClick='alert("The file has been removed successfully.")'/>
    
  2. If you enabled the event thread, the invocation will be stalled until the user clicks a button. It is easier but threading is not cheap. For more information, please refer to the Event Threads section.

Close on Exceptions

When an exception happens inside a message box's event listener and is handled by a ZK error page. The message box doesn't disappear, and it might cover the information on the error page. To avoid this, you can:

  • create a modal window in an error page, then the modal window will be on top of the message box.
  • catch an exception inside a message box's event listener and detach the message box.

Version History

Last Update : 2021/08/02


Version Date Content
     



Last Update : 2021/08/02

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