Message Box
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.");
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);
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.
- ↑ If you are using zscript, there is a shortcut called
alert
as follows<button label="Show" onClick='alert("The file has been removed successfully.")'/>- ↑ 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
Version | Date | Content |
---|---|---|