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 enlazar Node style (o styleClass) a una propiedad?
  • ¿Cómo agregar leyenda secundaria al gráfico JavaFX?
  • Kotlin y TornadoFX: ¿une una propiedad observable a una function de recostackción?
  • tornadofx EventBus expande la fila de la tabla usando el object tableview
  • La compilation de Gradle no puede encontrar tornadofx en Linux
  • TornadoFX envuelve las classs de dominio en ItemViewModel
  • El text de la label no se actualiza aunque el hilo de la interfaz de usuario parece responder
  • TornadoFX cómo agregar validation al editar TableView
  • Las properties vinculadas no funcionan
  • Tornadofx - Cómo pasar el parámetro a Fragment en cada instancia
  • Cómo ejecutar tornado fx hello world con java 7