Saltar al contenido principal

Message

Abrir en ChatGPT
Sombra 24.02
Java API

Un MessageDialog es un cuadro de diálogo modal diseñado para mostrar un mensaje al usuario con un botón OK para cerrar el diálogo. Bloquea la ejecución de la aplicación hasta que el usuario interactúe con él o se cierre debido a un tiempo de espera.

Usos

Utiliza el método estático showMessageDialog para mostrar un mensaje básico.

OptionDialog.showMessageDialog("¡Hola Mundo!");

Para tener más control sobre la apariencia y el comportamiento del diálogo, crea una instancia de MessageDialog directamente.

MessageDialog dialog = new MessageDialog(
"¡Hola Mundo!", "¡Hola Mundo!", MessageDialog.MessageType.INFO);
dialog.setBlurred(true);
dialog.setAlignment(MessageDialog.Alignment.TOP);
dialog.show();

Tipo de mensaje

El MessageDialog admite los siguientes tipos de mensajes. Cuando configuras un tipo, el diálogo muestra un ícono al lado del mensaje y el tema del diálogo se actualiza de acuerdo con las reglas del sistema de diseño webforJ.

  1. PLAIN: Muestra el mensaje sin un ícono, utilizando el tema predeterminado.
  2. ERROR: Muestra un ícono de error junto al mensaje con el tema de error aplicado.
  3. QUESTION: Muestra un ícono de signo de interrogación junto al mensaje, utilizando el tema primario.
  4. WARNING: Muestra un ícono de advertencia junto al mensaje con el tema de advertencia aplicado.
  5. INFO: Muestra un ícono de información junto al mensaje, utilizando el tema de información.

En el siguiente ejemplo, el código configura un cuadro de diálogo de mensajes del tipo WARNING, con un título y mensaje personalizados.

Mostrar Código

Tema de Diálogo y Botón

Por defecto, el diálogo determina el tema según el tipo de mensaje. Puedes personalizar el tema del diálogo utilizando el método setTheme(Theme theme) y ajustar independientemente el tema del botón con el método setButtonTheme(ButtonTheme theme) para crear diferentes variaciones.

Texto del botón

Puedes configurar el texto del botón del diálogo utilizando setButtonText(String text).

OptionDialog.showMessageDialog("¡Hola Mundo!", "Título", "Entendido");

Procesamiento de HTML

Por defecto, el cuadro de diálogo de mensajes procesa y renderiza contenido HTML. Puedes desactivar esta característica configurándolo para mostrar texto sin procesar en su lugar.

MessageDialog dialog = new MessageDialog(
"<b>¡Hola Mundo!</b>", "¡Hola Mundo!", MessageDialog.MessageType.INFO);
dialog.setRawText(true);
dialog.show();

Tiempo de espera

El MessageDialog te permite establecer una duración de tiempo de espera tras la cual el cuadro de diálogo se cierra automáticamente. Esta función es útil para notificaciones no críticas o información que no requiere la interacción inmediata del usuario.

Puedes configurar el tiempo de espera para el diálogo utilizando el método setTimeout(int timeout). La duración del tiempo de espera está en segundos. Si el tiempo especificado transcurre sin ninguna interacción del usuario, el cuadro de diálogo se cierra automáticamente.

MessageDialog dialog = new MessageDialog("Este diálogo se cerrará pronto", "Tiempo de espera");
dialog.setTimeout(2);
dialog.show();

Mejores prácticas

  1. Mensajes Claros y Concisos: Mantén los mensajes breves y al grano, evitando jerga técnica; utiliza un lenguaje amigable para el usuario.
  2. Tipos de Mensaje Apropiados:
    • Usa ERROR para problemas críticos.
    • Usa WARNING para avisos de precaución.
    • Usa INFO para información general.
  3. Tematización Consistente: Alinea los temas de diálogo y botón con el diseño de tu aplicación.
  4. Uso Juicioso del Tiempo de Espera: Establece tiempos de espera para notificaciones no críticas y asegúrate de que los usuarios tengan tiempo suficiente para leer el mensaje.
  5. Evitar el Uso Excesivo: Usa cuadros de diálogo con moderación para evitar la frustración del usuario y resérvalos para mensajes importantes que requieren la acción o el reconocimiento del usuario.