¿Cómo puedo obtener el color del texto de un botón mediante la sustancia LaF?
Pregunta
En mi aplicación Java tengo la costumbre-pintar un control y para eso tengo que usar los mismos colores de la fuente como JButton
. (Activado y desactivado) No quiero que se codifican ellos, ya que el usuario puede cambiar la piel de sustancias en tiempo de ejecución.
Soy consciente de la ColorSchemes
pero no estoy seguro de cómo proceder una vez que tenga el esquema de color de la piel actual. También la documentación de sustancias dice algo acerca de la creación de su propio esquema de color, pero simplemente no puede averiguar la manera de recuperar un determinado color.
Solución
OK, finalmente lo he descubierto a mí mismo:
El paso importante es averiguar la correcta ??em> combinación de colores. Porque en cada panel raíz de sustancias puede tener su propia piel, lo mejor es utilizar el getCurrentSkin
helper.
SubstanceColorScheme s = SubstanceLookAndFeel
.getCurrentSkin(myComponent)
.getEnabledColorScheme(
SubstanceLookAndFeel.getDecorationType(myComponent)
);
Otras posibilidades son getDisabledColorScheme
, getActiveColorScheme
y getBackgroundColorScheme
.
A continuación, se puede utilizar s.getForegroundColor
o varios métodos de ayuda de SubstanceColorUtilities
.
Otros consejos
¿Por qué no le preguntas Kirill (creador de la sustancia) en el Foro de sustancias en https: / /substance.dev.java.net/servlets/ProjectForumView