2016-01-26 49 views
-2
private void displayButtonActionPerformed(java.awt.event.ActionEvent evt) {            

     for(int j=0; j <= topics.size(); j++) { 
       outputBox.setText("Pg#"+ j + ": " + topics.get(j)); 
     } 

這段代碼將只顯示我的數組中的一個元素在文本區域,任何想法或援助將不勝感激。只能從文本區域的數組中打印一個元素,需要打印全部。使用Netbeans

+0

快速簡單的回答1:使用追加到追加文本到文本在JTextArea已經存在。快速簡單的回答2:使用StringBuilder在您的for循環中創建您的字符串,然後使用如此構造的字符串設置JTextArea的文本。更好的長期回答:處理您的搜索技能,因爲這類問題通常在本網站或通過Google提供且易於查找,或者僅通過仔細閱讀Java API中的JTextArea條目。 –

+0

請注意,由於此表達式:'j <= topics.size();',您的for循環會冒險引發ArrayIndexOutOfBoundsException。你確定要在這裏使用'<='嗎? –

回答

-1

您每次調用setText()時都會替換數據。你只能做一個,因爲你一直在寫它。

您需要改爲添加新行。

爲了做到這一點,你想:

outputBox.append(yourtext); 
outputBox.append('\n'); //when you want to add a new line 
+0

你可能會稍微更具體一些,我明白你的意思,這只是我不知道如何實施新的行... – GrandMaster

+0

@GrandMaster:看看[鏈接](http://stackoverflow.com/questions/1870630/java-jtextarea-adding-a-newline)。 –

+0

@GrandMaster:或簡單地Google [添加新行JTextArea](https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=add+new+line+to+ jtextarea),前10名點擊都說同樣的事情。 –