2012-05-10 86 views
0

嗨我想循環從數字1到10,並在我的NetBeans TextField中將它們全部打印在彼此之下。Java Textfield打印查詢

我試着把文本字段放在循環中,但是它覆蓋了最後一個值,所以它不起作用。任何想法我可以如何解決這個問題?由於

代碼:

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) { 

String test = null; 
int i = 0; 

    while(i<10){ 
    test = String.valueOf(i); 
    test = test+"/n" 
    } 

    jTextField3.setText(test); 

    } 
+0

是否要顯示10個文本區域?你能告訴我們你有什麼嘗試嗎? –

+0

不只是一個文本字段,是的,肯定讓我上傳.. – progdoc

+0

\ n不適用於文本字段,因爲它只顯示一行文本。這就是爲什麼你只看到最後一個條目。使用JTextArea代替 –

回答

5

假設您正在尋找一個JTextArea。嘗試這樣的:

JTextArea textArea = new JTextArea(); 
for(int i=0;i<10;i++) 
    textArea.append(i+"\n"); 

一個TextField通常用於輸入,一個「行」,用戶可以輸入的東西。 TextArea可能是你想要的。在這裏您應該調用append()方法,輸入要附加的值並添加一個換行符\n

如果它覆蓋您的上一個值,請確保您在循環外創建字段,然後調用refrence。如果在循環中執行JTextArea textArea = new JTextArea();,則每次迭代都會創建一個新區域,覆蓋已有的區域

+0

完美,謝謝你 – progdoc

+1

@progdoc:你可以通過點擊[空勾號]接受這個答案(http://meta.stackexchange.com/questions/5234/how-does-accepting-an- answer-work/5235#5235)在左邊。 – trashgod

2

很難沒有看到代碼的說;當你尋求幫助時,你應該張貼它的相關部分。

我的猜測是你正在做這樣的事情。

myTextField.setValue(Integer.toString(i)); 

set總是刪除以前的值並添加一個新值。

除此之外,JTextField不支持多行。嘗試使用JTextArea。