My JavaFX project follows these steps:
Compute optimal values in Model class
initialize Controller
create a new instance of FXMLLoader
set Controller and view.fxml
render View
My fxml file doesn't have a line like fx:controller="com.example.Controller". IntelliJ fails to resolve methods like onMouseClicked="#processMyButtonClick" because it doesn't know what controller to use. No Controller specified for top level element. Is there a way to tell IntelliJ. If controller is specified in FXML Java throws Controller value already specified exception.
As a result source control logs are polluted with false positives "100 errors were found" and a link between #methodName in fxml and public void methodName(){/*..*/} stops working.
Is there a way to tell IntelliJ to derive fxml controller from POJO class?
Based on "No Controller specified for top level element" when programatically setting a Controller one can specify controller in fxml file, but this is undesirable because I would like to initialize Controller before fxml is loaded.
I also hated this for a long time, but I have found a work around. You specify the Controller in the FXML file and then load it like this: