controller - ¿Archivo FXML de JavaFX con múltiples controladores diferentes?
(1)
Puede eliminar la asignación fx:controller=""
del archivo FXML
y asignar el controlador a través del FXMLLoader
durante la carga.
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Your.fxml"));
fxmlLoader.setController(this);
try
{
fxmlLoader.load();
}
catch (IOException exception)
{
throw new RuntimeException(exception);
}
Consulte la sección Introducción a FXML en componentes personalizados .
Hay dos etapas diferentes en mi aplicación que son pantallas de ayuda que usan el mismo archivo FXML. En lugar de crear 2 archivos FXML, me gustaría utilizar solo uno y tener dos controladores que llamen al mismo archivo fxml.
El único problema es que el controlador está asignado en el archivo FXML. Entonces, ¿hay alguna manera de cambiar el controlador asignado con el código en la clase Controller?
Realmente me gustaría evitar duplicar un archivo FXML solo para cambiar el Controlador en cada uno. Gracias por adelantado.