2013-06-26 83 views
0

我用C語言編寫服務器,用Java編寫客戶端。我使用JavaFX進行GUI。除了有時我會在textArea被填充時收到異常,並在重新設置之前接收更多數據(可能是並行線程的原因)之後,所有工作都會正常工作。實際上有3種情況是「隨機」發生的:
1)卡住/掛起,並且不會引發異常。
2)NullPointerException(關於行填充和內容界限[我的代碼沒有提到])。
3)IllegalArgumentException:寬度和高度必須大於等於0.
4)有關字符串文本邊界的例外。重置文本區域長度JavaFX

這裏的代碼,如果它有助於:

if(textArea.getLength() > 500) // I tried with > 2000, similar situations occur 
    textArea.setText(""); 
command = textField.getText(); 
out.println(command); // out to socket 
textField.setText(""); 

順便說一句,該GUI應該代表基本的Linux殼,所以應該TEXTAREA有時能夠接收大量數據(如netstat命令)的。 謝謝!

回答

0

這是您的上一個問題的確切出版物,但有更多信息,因此不打算結案。我要求你在上一個問題中發佈異常堆棧跟蹤,但是你提到stacktrace中沒有你的代碼相關的行,因此我也假設你是textArea的一個bug。所以我建議嘗試使用另一個組件,例如帶有白色背景的大標籤:),如果它僅用於顯示目的。

+0

我以爲你忘了我,所以我提出了另一個問題,因爲我真的需要這樣做。我會嘗試做標籤,哈哈永遠不會想到這一點:D謝謝! – Bade

+0

:似乎Label沒有.appendText()方法,我不知道爲什麼我無法將Label引用傳遞給我的服務。無論如何,如果我可以,我只能.setText()來標記哪個不是很好的解決方案。不管怎麼說,還是要謝謝你! – Bade

+0

@ user2510434。嘗試'label.setText(label.getText()+「追加文本」);' –