2016-11-23 2 views
0

내 java fxml 응용 프로그램을 실행하려고하면 netbeans에서 오류가 발생합니다. apnc7dsimulator.UIController.handleNew에서 apnc7dsimulator.UIController.handleStart (UIController.java:4 2) (UIController에서 java.lang.NullPointerException이 :에 의한Java FXML 프로그램을 실행하는 중 오류가 발생했습니다.

: 여기

내가 점점 오전 오류입니다. 자바 : 37)에 javafx.fxml.FXMLLoader.loadImpl apnc7dsimulator.UIController.initialize (UIController.java:31) (FXMLLoader.java:2548)에서이 ... (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 이후

login.loginSys(screen); 

가 null의 코드는 NullPointerException을 던지고있다 : 결과는 코드 줄이 실행될 때이다. handleStart()를 호출하기 전에 코드에서 어딘가에

는, 아마도 UIController 생성자에서, 당신은 login를 초기화해야, 무언가 같이 :

login = new Login(); 
+0

감사합니다, 그게 해결 한 것 같다, 내가 놓친 믿을 수 없어 그. –