messages en zk

Hola a todos como están, sucede que necesito colocar mensages en la vista en una página web de zk, lo estoy haciendo desde el código el controller, de la siguiente manera:
Messagebox.show("El Campo fue agragado con Exito", "Error", Messagebox.OK, Messagebox.INFORMATION); pero este mensaje no dura sucede que no espera a que yo de click en ok sino que desaparece de inmediato, además necesito colocar messages para los errores en los formularios y cosas asi, pero no se como se realiza esto en el framework de zk, si alguno de ustedes sabe como hacer esto agradezco mucho cualquier ayuda, muchas gracias.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Constraints

Probe tu sentencia y no sucede lo que mencionas, podrias colocar un poco más de código? Para colocar mensajes de error en los formularios puedes usar constraints, checa este link http://books.zkoss.org/wiki/ZK_Component_Reference/Base_Components/Input...

Imagen de rasilvap

Messagebox

Por ejemplo para la eliminaciòn, luego de haber realizado todo el proceso, entonces muestro este mensaje en pantalla, porque no se de que otra forma lo podrìa hacer en zk estilo como se hace en struts o jsf con messages, bueno volviendo al còdigo lo que sucede es que si por ejemlo colocase esta seguro que desea eliminar el campo, esto no se porque no funciona, sino que se ejecuta el còdigo embebido en este condicional, sin importar si doy click o no sobre el mismo:

Messagebox.show("La Competencia fue eliminada con Exito", "Error", Messagebox.OK, Messagebox.INFORMATION);
Executions.sendRedirect("/view/Reglas/detalleRegla.zul");

lo he igualadao a un int

int rta = Messagebox.show("La Competencia fue eliminada con Exito", "Error", Messagebox.OK, Messagebox.INFORMATION);
y luego hago un if como

if (rta==1)-->supiniendo que ok toma el valor de 1.

pero de todas formas se ejecuta todo el codigo no hace la respectiva pausa a esperar que selecciona el usuario, muchas gracias por la ayuda que me puedan brindar

Threads

El problema que tienes con el Messagebox se debe a los hilos, la llamada Messagebox.show() se ejecuta en otro hilo, por lo que la ejecución continua en la siguiente linea que tengas en el código, en tu caso Executions.sendRedirect("/view/Reglas/detalleRegla.zul");, la cual redirige la pagina actual a otra, por lo que el usuario no puede realizar acción alguna sobre el mensaje. Por otra parte la forma de determinar el botón que el usuario presiona en el Messagebox se debe hacer mediante constantes propias de ZK, un ejemplo:

Messagebox.show("Question is pressed. Are you sure?",
        "Question", Messagebox.OK | Messagebox.CANCEL,
        Messagebox.QUESTION,
            new 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 ");
                    }                    
                }
            }
        );

Lo que se esta haciendo en el fragmento de código anterior, es definir un EventListener para responder a los eventos sobre el Messagebox. Ahora si lo que deseas es redireccionar la página cuando el usuario de clic en el boton OK, simplemente coloca la sentencia en la sección del if correspondiente.

Fuente: http://books.zkoss.org/wiki/ZK%20Component%20Reference/Supporting%20Clas...