¿Cuál es la mejor práctica para crear un componente de IU personalizado en tornadofx?

Soy nuevo en JavaFX y tornadofx, y ahora necesito crear algunos componentes UI altamente personalizados (incluyendo button de enviar, campo de input de text, campo de input de contraseña, selector de date y hora, selector desplegable, etc.) que se muestran a continuación:

enter image description here

Entonces, ¿cuál es la mejor práctica para crear estos componentes? mi pregunta incluye:

  1. ¿Qué súper class debería ampliar mi componente personalizado de interfaz de usuario?
  2. ¿Hay algún ejemplo existente en tornadofx?
  3. ¿Puedo usar bootstrap en mi caso? y si es así, ¿cómo puedo usar bootstrap?

gracias (esta pregunta también se publicó aquí: https://github.com/edvin/tornadofx/issues/498 )

Realmente no hay nada específico de TornadoFX en este process, pero tengo dos recomendaciones:

No cree un control personalizado a less que realmente lo necesite. Para agregar funcionalidad personalizada a un Botón o un TextField, instale un skin personalizado en su lugar.

Si realmente necesita un control personalizado, considere extender la class Control. Para get más componentes centrados en el layout, puede ampliar un layout en su lugar, o simplemente Panel.

Para get más información sobre los componentes personalizados, considere leer este shiny libro:

https://www.amazon.com/Mastering-JavaFX-Controls-Oracle-Press-ebook/dp/B00L3TF02K

También mira estos videos:

https://www.youtube.com/watch?v=L9xtOhdSx6k

https://www.youtube.com/watch?v=7PPcM0E5yQw

  • Tornadofx - Cómo pasar el parámetro a Fragment en cada instancia
  • TornadoFX ¿Cómo crear MDI con una list de models de windows hijas?
  • La compilation de Gradle no puede encontrar tornadofx en Linux
  • Cómo mostrar datos usando la vista de tree de TornadoFX
  • Animación consecutiva en TornadoFX?
  • Desplazamiento suave en JavaFX TableView
  • Enlace de un model de dominio con campos anulables en ItemViewModel
  • Cómo ejecutar tornado fx hello world con java 7
  • Cómo implementar TornadoFX WebEngine Callback en Kotlin
  • Tornadofx tableview sincroniza dos tablas
  • TornadoFX: permite copyr un elemento de una vista de list al portapapeles