2017-10-14 10 views
0

複数のテキストフィールドからテキストを取得する際に問題があります。私はシーンビルダをUI拡張としてNet Beansを使用しています。私は、プログラムを実行するたびに、私は次のエラーを取得する:スレッド「JavaFXのアプリケーションスレッド」java.lang.RuntimeExceptionで複数のテキストフィールドからテキストを取得する方法は?ネットビーンとシーンビルダ

例外:にjava.lang.reflect.InvocationTargetException

私は私のテキストフィールドを初期化しています」とは、次のとおりです。 EmailController.java

@FXML private TextField txtTo; 
@FXML private TextField txtSubject; 
@FXML private TextField txtMessage; 

そして、私が押す 『私は私が私のテキストフィールドから得たテキストを印刷したい』送信を。

txtMessage being a multiline textfield.

EmailController.java

@FXML 
private void handleSendAction(ActionEvent event) { 
    System.out.println(txtTo.getText()); 
    System.out.println(txtSubject.getText()); 
    System.out.print(txtMessage.getText()); 
} 

任意の助けもいただければ幸いです。引き起こさ

Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769) ... 48 more Caused by: java.lang.NullPointerException at clientv2.pkg0.EmailController.handleSendAction(EmailController.java:46) ... 58 more

Email.fxml

<AnchorPane id="AnchorPane" prefHeight="375.0" prefWidth="600.0" style="-fx-background-color: #d3d3e8;" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="clientv2.pkg0.EmailController"> 
    <children> 
     <TextField fx:id="txtTo" layoutX="5.0" layoutY="36.0" prefHeight="30.0" prefWidth="590.0" promptText="TO:" /> 
     <TextField fx:id="txtSubject" layoutX="5.0" layoutY="66.0" prefHeight="30.0" prefWidth="590.0" promptText="SUBJECT:" /> 
     <TextArea fx:id="txtMessage" layoutX="5.0" layoutY="96.0" prefHeight="240.0" prefWidth="590.0" promptText="Enter Text Here..." /> 
     <Button fx:id="btnSend" layoutX="477.0" layoutY="342.0" mnemonicParsing="false" onAction="#handleSendAction" prefHeight="25.0" prefWidth="118.0" style="-fx-background-color: #bcb1cc;" text="Send" /> 
     <Label layoutX="273.0" layoutY="2.0" text="Email"> 
     <font> 
      <Font size="23.0" /> 
     </font> 
     </Label> 
    </children> 
</AnchorPane> 
+0

また、イベントハンドラは私のEmail.fmxlであり、各テキストフィールドのIDは、私が初期化されているテキストフィールド名に対応して怒っ

@FXML private TextField txtMessage; 

に行くために

。 –

+1

完全な例外メッセージを表示します。 –

+0

@mrmcwolfエラーメッセージは非常に長いエラーメッセージ –

答えて

1

TextFieldTextAreaは、二つの異なるコントロールです。 FXMLファイルでは、彼女はTextAreaと宣言しましたが、コントローラにはTextFieldと注釈されています。コードは

@FXML private TextArea txtMessage; 
+0

はい、それはあなたがNullPointerExceptionを持っている理由です –

関連する問題