2015-10-23 36 views
1

我從另一個類的textarea上設置文本有問題。完成簡單的腳本後,我想用InputStreamReader在另一個類中更改textarea。我有錯誤是:java.lang.NullPointerException。 我試圖讓get()和set()方法,如果我在包含InputStreamReader的類中使用初始化值創建字符串,並嘗試在類中使用textarea的sysout它顯示我的字符串,但如果我想setText有一個NPE。 是SimpleStringProperty很好的解決方案嗎?如何在另一個類的textarea上設置文本JavaFX

這是輸出:

  Process process; 
      process = Runtime.getRuntime().exec(PATH_TO_SIKULI + " -r " + s.toString()); 
      BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream())); 
      BufferedReader stdError = new BufferedReader(new InputStreamReader(process.getErrorStream())); 
      String as=null; 
      stringBuilder = new StringBuilder(as); 

      while ((as = stdInput.readLine()) != null) { 
       stringBuilder=stringBuilder.append(as+"\n"); 
      } 
      while ((as = stdError.readLine()) != null) { 
       stringBuilder=stringBuilder.append(as+"\n"); 
      } 
      try { 
       process.waitFor(); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 

      } 
    } 

類具有文本區域

公共類ResultController實現Initializable {

@FXML 
public TextArea resultTextArea; 

@Override 
public void initialize(URL location, ResourceBundle resources) { 
    Platform.runLater(new Runnable() { 
     @Override 
     public void run() { 

     } 
    }); 



} 

回答

1

拋出的空指針:

String as=null; 
StringBuilder stringBuilder = new StringBuilder(as); 

作爲文檔相當不錯的描述你不能通過nullStringBuilder構造函數。 但是,這是這裏的情況:as = null

java.lang.StringBuilder.StringBuilder(字符串str)

創建一個初始爲 指定的字符串內容的字符串建設者。字符串構建器的初始容量是16 加上字符串參數的長度。

參數:str緩衝區的初始內容。拋出: NullPointerException - 如果str爲null

+0

確定,但接下來的初始化是2,而的循環 的StringBuilder = stringBuilder.append(如+ 「\ n」); – Sebx

相關問題