Color de mensajes de JOptionPane
¿ 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.
Hola,
haz un favor, postea el código donde intentas cambiar el color.
Un saludo.
haz un favor, postea el código donde intentas cambiar el color.
Un saludo.
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.
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.
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
Por ejemplo: JPanel panel = new JPanel();
panel.setBackground(Color.red);
JOptionPane.showMessageDialog(frame,
panel,
"ERROR", JOptionPane.ERROR_MESSAGE);
y asunto concluÃdo
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.
gracias de todas formas.
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.
por si acaso el código para colocar el look and feel serÃa.
UIManager.setLookAndFeel(UIManager.getSystemClassName());
y listo.
