TornadoFX: el text de la label no se actualiza

Uno de los problemas que estoy experimentando actualmente es que parece que no puedo cambiar el text de una label que se implementa en un AnchorPane cargado dinámicamente. Supongo que esto podría estar relacionado con el controller y cómo funciona JavaFX / TornadoFX, pero parece que no puedo encontrar lo que estoy haciendo mal.

El problema en sí ocurre en esta class , y ocurre en el método showSystemDetails() . Lo que esperaría que sucediera es que al presionar el button "Detalles del sistema" en la barra lateral, las tags se actualizarían al valor requerido, pero esto no está sucediendo por algún motivo.

Por favor, siéntase libre de señalarme lo que estoy haciendo mal, o proporcionar cualquier crítica constructiva. El proyecto todavía está en pleno desarrollo, por lo que muchas cosas siguen siendo desorderadas / rotas.

La razón por la que esto no funciona es que está cargando manualmente una nueva versión del file FMXL cada vez que selecciona algo en su menu. El file FXML cargado originalmente por SystemDetailsViewProxy se actualiza correctamente, pero ya no se muestra en la pantalla.

Para ver la Vista actualizada, asegúrese de volver a colocar el nodo raíz de la instancia de SystemDetailsViewProxy .

Por ejemplo, podría cambiar su DrawerMenuButton enum para que contenga references a SystemDetailsViewProxy :: class en lugar de esas dos cadenas, y use add(viewClass) para agregar el nodo raíz correcto a su vista onclick en los botones de menu.

Además, debería usar ViewModels y binding en lugar de actualizar manualmente la propiedad de text de las tags. Está haciendo muchísimo trabajo manual / propenso a errores con el que el marco puede ayudarle de forma gratuita.

Su aplicación no está utilizando las mejores prácticas en varias áreas importantes, y está rodando sus propias soluciones para las cosas que el marco ya hace muy bien 🙂

Las vistas son únicas cuando las gestiona el marco, pero las crea usted mismo en lugar de usar inject / find. El resultado es que no se están llamando a los methods importantes del ciclo de vida.

También sugeriría search types de constructores seguros en lugar de FXML.

Espero que esto ayude 🙂

  • TornadoFX JavaFX Sync Desplazarse por las vistas de tabla
  • Desplazamiento suave en JavaFX TableView
  • Tornadofx tableview sincroniza dos tablas
  • ¿Cómo puedo refactorizar una vista para permitir el filtrado de elementos vinculados a un observable ArrayList dentro de una aplicación tornadofx?
  • Kotlin y TornadoFX: ¿une una propiedad observable a una function de recostackción?
  • Enlace de un model de dominio con campos anulables en ItemViewModel
  • TornadoFX: permite copyr un elemento de una vista de list al portapapeles
  • Cómo implementar TornadoFX WebEngine Callback en Kotlin
  • TornadoFX cómo enlazar Node style (o styleClass) a una propiedad?
  • Crea una vista arbitraria
  • ¿Cómo cancelar la suscripción a events en TornadoFX?