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 - eliminar elemento con ContextMenu hacer clic derecho
  • tornadofx EventBus expande la fila de la tabla usando el object tableview
  • No se puede usar fontawesomefx con kotlin y tornadofx
  • TornadoFX cómo agregar validation al editar TableView
  • No se puede hacer que el nodo se centre en un StackPane con TornadoFX
  • Context de reinicio de JavaFX
  • preguntas sobre DI, ViewModel, etc.
  • TornadoFX JavaFX Sync Desplazarse por las vistas de tabla
  • Cómo instalar un controller de clics en una vista de list dinámica (en tornadofx)
  • TornadoFX reemplaza el layoutChildren en la región
  • java.lang.ClassNotFoundException: no encontró la class "com.my.app.example.Main" en la ruta: DexPathList