2016-11-23 15 views
0

java fxmlアプリケーションを実行しようとしているときにnetbeansでエラーが発生しました。 apnc7dsimulator.UIController.handleNewでapnc7dsimulator.UIController.handleStart(UIController.java:4 2)(UIControllerでのjava.lang.NullPointerException:によって引き起こさJava FXMLプログラムの実行中にエラーが発生しました

:ここ

は、私が取得していますエラーです。 Javaの:37)javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)でapnc7dsimulator.UIController.initialize(UIController.java:31)で... 17もっと

エラーが発信され表示されます私のコントローラから。

public class UIController implements Initializable { 

@FXML 
private TextArea screen; 

@FXML 
private TextField commandLine; 

private Login login; 

@Override 
public void initialize(URL location, ResourceBundle resources) { 
    handleNew(); 
} 

public void handleNew(){ 
    screen.clear(); 
    commandLine.clear(); 
    handleStart(); 

} 

public void handleStart(){ 
    login.loginSys(screen); 

}} 

コードコントローラの参照はこれです:ここに私のコードです

public class Login implements PrintToScreen{ 

@Override 
public void print(String text, TextArea screen) { 
    screen.appendText(text); 
} 

@Override 
public String read(TextArea screen) { 
    Scanner scanner = new Scanner(System.in); 
    String readString = scanner.nextLine(); 
    while(readString != null){ 

     print(readString,screen); 

     if(scanner.hasNextLine()){ 
      readString = scanner.nextLine(); 
     } 
     else{ 
      readString = null; 
     } 
    } 
    return readString; 
} 

public void loginSys (TextArea screen) 
{ 
    String user = "..."; 
    String pass = "..."; 

    print("Please Enter Username:",screen); 
    user = read(screen); 

    print("Please Enter Password:",screen); 
    pass = read(screen); 

    print("Check Credentials... Please Wait.",screen); 
}} 

私はそれが私が作ってるんだ単純なミスや私が正しく、次のいないよ大会のいくつかの並べ替えだと確信していますが、これは今私をしばらく悩ませてしまった。 助けがあれば助かります。

答えて

0

すべてのコードを投稿したと仮定すると、loginメンバ変数は決して初期化されていないようです。デフォルトではnullに初期化されています。

login.loginSys(screen); 

loginコードがNullPointerExceptionを投げている、NULLであるので:結果は、コードのこの行が実行されるときことです。どこかあなたのコード内

handleStart()が呼び出される前に、おそらくUIControllerコンストラクタで、あなたはloginを初期化する必要があり、何かのように:それを修正しているようだ

login = new Login(); 
+0

おかげで、私は逃した信じることができませんそれ。 –

関連する問題