I agree about Thomas's assessment on FXML - if you like the Scene Builder tool, or you have an existing, complex UI written in FXML, stick with it. You can however get the same clean separation with builders if you put the View logic into a controller, and keep the view as a placeholder for nodes and wiring of events. Do the event actions in the Presenter/Controller and you have a completely clean separation.