Ho un file FXML con pulsanti con attributi onMouseClicked. Non ho impostato un controller su FXML perché ho dati iniettati dal costruttore che voglio fornire al controller."Nessun controller specificato per l'elemento di livello superiore" quando si imposta programmaticamente un controller
<Button mnemonicParsing="false" onMouseClicked="#newWidgetRequestButtonClicked" text="New Widget..." />
Sto impostando il controller in modo programmatico e il mio controller contiene i metodi specificati in FXML. Le funzioni del controller vengono eseguite e tutto funziona correttamente.
FXMLLoader loader = new FXMLLoader(getClass().getResource("MainView.fxml"));
MyController controller = new MyController(...);
loader.setController(controller);
Il mio problema si trova nell'ispezione IntelliJ dei file .fxml. Ad ogni occorrenza del riferimento alla funzione, viene segnalato "Errore: (45, 54) Nessun controller specificato per l'elemento di livello superiore". Sto osservando le regole di ispezione di IntelliJ e non vedo questa regola nella sezione JavaFX. Ancora una volta, il programma costruisce e gira bene, quindi non è un vero errore di compilazione. Voglio disabilitare questa notifica di errore.
Come posso evitare questo errore?
se si specifica quel controllore, quando si tenta di raggiungere campi di testo, i pulsanti nella classe controller otterranno un'eccezione nullpointer. –