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.

¿Fue útil?

Solución

OK, finalmente lo he descubierto a mí mismo:

El paso importante es averiguar la correcta combinación de colores. Porque en cada panel raíz de sustancias puede tener su propia piel, lo mejor es utilizar el getCurrentSkinhelper.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top