TornadoFX: Type-Safe CSS con otras bibliotecas

Soy nuevo en Kolin y TornadoFX y actualmente estoy experimentando con algunas de sus características. Me gustaría usar JFoenix-Library y diseñar sus controles con la característica CSS segura de types de TornadoFX. Pero no sé cómo modificar los styles dada la class CSS de un control JFoenix.

Por ejemplo, JFXDecorator tiene la class CSS pnetworkingeterminada jfx-decorator . Para cambiar el color de background de la barra de título, tengo que modificar la class jfx-decorator-buttons-container . ¿Cómo puedo hacer esto con TornadoFX? En un file .css, simplemente usaría

 .jfx-decorator-buttons-container { -fx-background-color: networking; } 

¿Es esto posible con TornadoFX?

Usted menciona las classs jfx-decorator y jfx-decorator-buttons-container , pero su CSS de ejemplo usa las classs jfx-decorator-buttons y container . No estoy seguro de qué classs realmente quieres, pero agregaré las dos últimas, ya que eso producirá el CSS de tu ejemplo.

 class Styles : Stylesheet() { companion object { val jfxDecoratorButtons by cssclass() val container by cssclass() } init { jfxDecoratorButtons and container { backgroundColor += Color.RED } } } 

ACTUALIZACIÓN: Cambió el código en su pregunta, así que aquí está la versión actualizada que producirá ese resultado:

 class Styles : Stylesheet() { companion object { val jfxDecoratorButtonsContainer by cssclass() } init { jfxDecoratorButtonsContainer { backgroundColor += Color.RED } } } 

Los selectores encapsulados Camel se convierten automáticamente a guiones inferiores con guiones. También puede especificar el nombre exacto dentro de la function de delegado cssclass :

val myCssClass by cssclass("my-slightly-different-css-class")

Observe también que dado que la propiedad backgroundColor acepta valores múltiples, debe "agregar" el color a la list de colors usando += . Este es el patrón común para todas las properties que aceptan valores múltiples.

  • TornadoFX ¿Cómo crear MDI con una list de models de windows hijas?
  • tornadoFX togglebutton no tiene propiedad de text
  • Enlazando una vista a una propiedad de controller cambiante
  • En TornadoFX, ¿cómo puedo hacer que una propiedad cambie cuando cambian otras properties?
  • ¿Cómo llenar el ancho de la tabla disponible con columnas?
  • Lanzar una aplicación TornadoFX desde (un progtwig existente) de Kotlin
  • TornadoFX con TestFX cierra la vista después de cada TestCase
  • TornadoFX reemplaza el layoutChildren en la región
  • Usar bibliotecas de UI de terceros con TornadoFX
  • Cómo mostrar datos usando la vista de tree de TornadoFX
  • Cómo instalar un controller de clics en una vista de list dinámica (en tornadofx)