Я использую Google Guava для переключения панели контента в моем приложении JavaFX.
@Subscribe
public void handleChangeViewDataModel(ChangeViewEventDataModel event) {
try {
FXMLLoader loader = new FXMLLoader(Objects.requireNonNull(getClass().getResource(event.getViewName())));
loader.setControllerFactory(new ControllerFactory());
Parent root = loader.load();
// change the content pane
contentController.getContent().getChildren().clear();
contentController.getContent().getChildren().add(root);
и
public class ControllerFactory implements Callback