Color de mensajes de JOptionPane

osaxti
16 de Julio del 2004
¿ Cómo se puede cambiar el color del frame de los mensajes de JOptionPane, por ejemplo los mensajes de error o de información? Por defecto aparecen en gris, he probado con JOptionPane.setBackground, pero no me funciona.

Elena
16 de Julio del 2004
Hola,

haz un favor, postea el código donde intentas cambiar el color.

Un saludo.

osaxti
16 de Julio del 2004
Utilizo el método estático showMessageDialog

JOptionPane.showMessageDialog(frame,
"Mensaje",
"ERROR", JOptionPane.ERROR_MESSAGE);

He probado a declarar una variable de tipo JOptionPane y hacer el setBackground con esa variable y después llamar al método desde esa variable, pero no funciona. Sigue saliendo en gris.

moginn
16 de Julio del 2004
Si te fijas, el segundo parámetro del JOPtionPnae.showMessageDialog, osea, "Mensaje" no estás obligado a poner un String. Puedes poner cualquier Object. ¿Que quiero decir con eso? Pues que le puedes pones un JPanel, previamente configurado (con el color, botones, etc.)

Por ejemplo: JPanel panel = new JPanel();
panel.setBackground(Color.red);
JOptionPane.showMessageDialog(frame,
panel,
"ERROR", JOptionPane.ERROR_MESSAGE);

y asunto concluído

osaxti
16 de Julio del 2004
Para eso, pues me creo una clase PanelDeError que sea el panel con el color y botones que tú dices, y ya no hace falta utilizar la clase JOptionPane. Quería una forma que fuera más rápida,
gracias de todas formas.

raven
16 de Julio del 2004
puedes intentar cambiar el look and feel por defecto de swing, por el del sistema y con eso los JOptionPane que utilices te saldrán con los colores normales de tu sistema operativo.
por si acaso el código para colocar el look and feel sería.

UIManager.setLookAndFeel(UIManager.getSystemClassName());

y listo.