Avrei bisogno del vostro aiuto per risolvere un problema che ho.
Ho creato una interfaccia utilizzando la libreria JavaFX tramite il tool Scene Builder. Ho anche, per testarla, provato a gestire l'evento di pressione di un bottone che mi dovrebbe stampare il nome che inserisco. Il problema però è che il programma non mi parte proprio perchè mi viene sollevata una eccezione.
Questo è il codice:
codice:package com.java8.mod19.application; import java.io.IOException; import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; import javafx.fxml.FXMLLoader; public class Main extends Application { @Override public void start(Stage stage) throws IOException { stage.setTitle("Rubrica"); GridPane root = (GridPane) FXMLLoader.load(getClass().getResource("Rubrica.fxml")); stage.setScene(new Scene(root)); stage.show(); } public static void main(String[] args) { launch(args); } }codice:package com.java8.mod19.application; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.TextField; public class SampleController { @FXML private TextField textFieldNome; @FXML private TextField textFieldIndirizzo; @FXML private TextField textFieldNumero; @FXML private Button buttonAggiungi; @FXML private TextField textFieldDaCercare; @FXML private Label labelCercato; @FXML private Button buttonCerca; @FXML public void initialize() { assert textFieldNome != null : "fx:id=\"textFieldNome\" was not injected: check your FXML file 'Rubrica.fxml'."; assert textFieldIndirizzo != null : "fx:id=\"textFieldIndirizzo\" was not injected: check your FXML file 'Rubrica.fxml'."; assert textFieldNumero != null : "fx:id=\"textFieldNumero\" was not injected: check your FXML file 'Rubrica.fxml'."; assert buttonAggiungi != null : "fx:id=\"buttonAggiungi\" was not injected: check your FXML file 'Rubrica.fxml'."; assert textFieldDaCercare != null : "fx:id=\"textFieldDaCercare\" was not injected: check your FXML file 'Rubrica.fxml'."; assert labelCercato != null : "fx:id=\"labelCercato\" was not injected: check your FXML file 'Rubrica.fxml'."; assert buttonCerca != null : "fx:id=\"buttonCerca\" was not injected: check your FXML file 'Rubrica.fxml'."; buttonCerca.setOnAction((ActionEvent event) -> { String nome = textFieldDaCercare.getText(); labelCercato.setText(nome); }); } }codice:<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.*?> <?import javafx.geometry.*?> <?import java.lang.*?> <?import javafx.scene.layout.*?> <?import javafx.scene.layout.GridPane?> <GridPane hgap="10.0" maxHeight="400.0" maxWidth="350.0" minHeight="400.0" minWidth="350.0" prefHeight="400.0" prefWidth="350.0" vgap="10.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.java8.mod19.application.SampleController"> <opaqueInsets> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> </opaqueInsets> <columnConstraints> <ColumnConstraints maxWidth="168.0" minWidth="10.0" prefWidth="168.0" /> <ColumnConstraints maxWidth="250.0" minWidth="120.0" prefWidth="149.0" /> </columnConstraints> <rowConstraints> <RowConstraints minHeight="10.0" prefHeight="30.0" /> <RowConstraints minHeight="10.0" prefHeight="30.0" /> <RowConstraints minHeight="10.0" prefHeight="30.0" /> <RowConstraints minHeight="10.0" prefHeight="30.0" /> <RowConstraints minHeight="10.0" prefHeight="30.0" /> <RowConstraints maxHeight="42.0" minHeight="10.0" prefHeight="30.0" /> <RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" /> <RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" /> <RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" /> <RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" /> </rowConstraints> <padding> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> </padding> <children> <Label id="Label1" text="INSERISCI DATI PERSONE"> <opaqueInsets> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> </opaqueInsets> </Label> <TextField id="textFieldNome" text="nome" GridPane.columnIndex="1" /> <TextField id="textFieldIndirizzo" text="indirizzo" GridPane.columnIndex="1" GridPane.rowIndex="1" /> <TextField id="textFieldTelefono" text="telefono" GridPane.columnIndex="1" GridPane.rowIndex="2" /> <Button id="buttonAggiungi" alignment="CENTER" mnemonicParsing="false" text="AGGIUNGI" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" GridPane.valignment="CENTER" /> <Separator prefWidth="200.0" GridPane.columnSpan="2" GridPane.rowIndex="4" /> <Label text="INSERISCI NOME DA CERCARE" GridPane.rowIndex="5" /> <TextField id="textFieldDaCercare" text="nome" GridPane.columnIndex="1" GridPane.rowIndex="5" /> <Button id="buttonCerca" mnemonicParsing="false" text="CERCA" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="9" GridPane.valignment="CENTER" /> <Label id="labelCercato" GridPane.columnIndex="1" GridPane.rowIndex="6" GridPane.rowSpan="3" /> </children> </GridPane>
Questo invece è il messaggio di errore:
codice:Exception in Application start method java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source) at com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source) Caused by: java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147(Unknown Source) at com.sun.javafx.application.LauncherImpl$$Lambda$48/128893786.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: javafx.fxml.LoadException: /C:/Users/utente/Desktop/JAVA/PRATICA/modulo%2019/esercizi%20supplementari/19.b%20(FXML)/bin/com/java8/mod19/application/Rubrica.fxml at javafx.fxml.FXMLLoader.constructLoadException(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml.FXMLLoader.load(Unknown Source) at com.java8.mod19.application.Main.start(Main.java:18) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153(Unknown Source) at com.sun.javafx.application.LauncherImpl$$Lambda$51/1657476094.run(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(Unknown Source) at com.sun.javafx.application.PlatformImpl$$Lambda$45/1051754451.run(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$null$164(Unknown Source) at com.sun.javafx.application.PlatformImpl$$Lambda$47/541423010.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(Unknown Source) at com.sun.javafx.application.PlatformImpl$$Lambda$46/1775282465.run(Unknown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$141(Unknown Source) at com.sun.glass.ui.win.WinApplication$$Lambda$37/1109371569.run(Unknown Source) ... 1 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.Trampoline.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.MethodUtil.invoke(Unknown Source) ... 23 more Caused by: java.lang.NullPointerException at com.java8.mod19.application.SampleController.initialize(SampleController.java:44) ... 32 more Exception running application com.java8.mod19.application.Main
Mi aiutate a risolvere il problema?

Rispondi quotando