2012-04-03 13 views
25

¿Cómo obtener el color de fondo predeterminado de los componentes oscilantes? Me refiero al color de fondo predeterminado de JPanel?Obtener el color de fondo predeterminado del componente oscilante

+1

Quizás esté buscando algo como esto: http://stackoverflow.com/questions/2739704/getting-panel-color? – ranman

+0

El hecho de que me pregunte me hace sospechar que hay algo mal con el diseño de la GUI. ¿De qué se trata el color predeterminado que necesita que no puede ser ordenado (mejor) por 'super.paintComponent (g)'? Por cierto: un Swing 'JPanel' típicamente (dependiente de PLAF) tiene un color BG diferente al de un' JTable' o 'JTextField'. Tenga cuidado de pensar que tiene 'el' color BG. –

Respuesta

49

Para obtener DEFAULT color que el panel va a utilizar cuando se crea empleo:

Color color = UIManager.getColor ("Panel.background"); 

Para obtener ACTUAL panel de uso de fondo:

panel.getBackground(); 

Para obtener una lista completa de UIManager de color propiedades, ver http://alvinalexander.com/java/java-uimanager-color-keys-list.

+0

¿Devuelve el "color POR DEFECTO que usará el panel cuando se crea"? ¿O devuelve el valor después del último 'UIManager.put (" Panel.background ", color); ' ? – c0der

+0

Bueno, si quieres ir tan profundo, 'JPanel' no tiene ningún valor predeterminado, se configura a partir de la instancia de UI del panel actual en la instalación de UI. Más comúnmente se toma del valor de la tabla de valores predeterminados de UI en la tecla 'Panel.background'. Por supuesto, puede redefinir ese valor; en ese caso, ese será el color de fondo predeterminado del panel y se usará para todos los paneles nuevos creados después de haberlo redefinido. –

Cuestiones relacionadas