JOptionPane image
Para cualquiera que tenga el problema en la imagen, encontré/adapté una solución. En mi sistema, obtuve ese resultado, si utilicé la solución UIManager como otros publicaron, o hice un JDialog y usé jd.getContentPane(). SetBackground (Color.blanco). Así que aquí está la solución alternativa que se me ocurrió, donde bucle de forma recursiva a través de cada componente en el JOptionPane, y establecer el color de fondo de cada JPanel:
private void getComponents(Container c){
Component[] m = c.getComponents();
for(int i = 0; i < m.length; i++){
if(m[i].getClass().getName() == "javax.swing.JPanel")
m[i].setBackground(Color.white);
if(c.getClass().isInstance(m[i]));
getComponents((Container)m[i]);
}
}
En su código en el que desea que el mensaje emergente , algo a lo largo de las líneas de:
pane = new JOptionPane("Your message here",
JOptionPane.PLAIN_MESSAGE ,JOptionPane.DEFAULT_OPTION);
getComponents(pane);
pane.setBackground(Color.white);
jd = pane.createDialog(this, "Message");
jd.setVisible(true);
Dónde JOptionPane pane
JDialog jd
y han sido creados previamente. Espero que esto ayude a cualquiera que tenga ese problema.
+1 de manera simple – mKorbel
Tenga en cuenta que esto cambiará el fondo de todas las instancias. – mre
¿Es posible agregar mi botón personalizado también? – itro