¿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

  • ¿Cómo cancelar la suscripción a events en TornadoFX?
  • Tornadofx - controlando el object de la fila de la vista de tabla mientras construye
  • TornadoFX - Creación de un layout MVP
  • El elemento TornadoFx ItemViewModel es nulo
  • Cómo inyectar ItemViewModel en tornadoFx
  • No se puede hacer que el nodo se centre en un StackPane con TornadoFX
  • No se puede usar fontawesomefx con kotlin y tornadofx
  • La compilation de Gradle no puede encontrar tornadofx en Linux
  • Usar bibliotecas de UI de terceros con TornadoFX
  • TornadoFX con TestFX cierra la vista después de cada TestCase
  • java.lang.ClassNotFoundException: no encontró la class "com.my.app.example.Main" en la ruta: DexPathList