私はテキストフィールドにテキストを追加しようとしていますが、ボタンをクリックするとnullpointerexceptionが表示されますが、どうしてですか?JavaFx - TextField.setText()nullpointerExceptionを投げる
MainWindowController.java
@FXML
public TextField konsumatoriPunetField = new TextField();
@FXML
private void initialize()
{
FXMLLoader loader5 = new FXMLLoader();
loader5.setLocation(getClass().getResource("ZgjedhKonsumatorinFXML.fxml"));
BorderPane border5 = new BorderPane();
border5 = loader5.load();
Scene scene5 = new Scene(border5);
zgjedhkonsumatorinstage.setScene(scene5);
zgjedhkonsumatorinstage.setTitle("Pit Stop");
zgjedhkonsumatorinstage.initModality(Modality.WINDOW_MODAL);
zgjedhkonsumatorinstage.initOwner(MainFXMLController.mainFXMLStage);
}
@FXML
public void zgjedhKonsumatorin()
{
zgjedhkonsumatorinstage.showAndWait();
}
MainWindowFXML.fxml
<TextField fx:id="konsumatoriPunetField" editable="false" onMouseClicked="#zgjedhKonsumatorin" promptText="Kliko per te zgjedhur" GridPane.columnIndex="1" GridPane.rowIndex="1" />
ZgjedhKonsumatorinController.java
@FXML
public void zgjedhKonsumatorin()
{
FXMLLoader loader = new FXMLLoader(getClass().getResource("MainWindowFXML.fxml"));
MainWindowController c = (MainWindowController) loader.getController();
c.konsumatoriPunetField.textProperty().setValue("ertani");
main.zgjedhkonsumatorinstage.close();
}
ZgjedhKonsumatorinFXML.fxml
<Button mnemonicParsing="false" onAction="#zgjedhKonsumatorin" prefWidth="150.0" text="Zgjedh Konsumatorin" />
出力:
Caused by: java.lang.NullPointerException
at main.ZgjedhKonsumatorinController.zgjedhKonsumatorin(ZgjedhKonsumatorinController.java:193)
... 102 more
P.S.これは、あなたがFXMLファイルをロードするとき
c.konsumatoriPunetField.textProperty().setValue("ertani");
あなたはこの部分を編集することを忘れていましたか?そのフィールドはまだ静的です... –
申し訳ありませんが、私はここでそれを編集するのを忘れていました。 –
デバッグnullのオブジェクトはどれですか? – MordechayS