你好,歡迎大家,這是我的第一個問題,所以我希望它是一個好問題。我正在探索swing API,並且遇到了一個突然出現在我腦海中的問題。我基本上是問我自己,如果我可以建立一個程序,可以使用while()
循環,顯示多個JTextArea中的一樣你可以在控制檯這樣的:Java:我無法多次運行JTextArea?
while(x<100){
System.out.println("This is the number: " + x)
x++;
}
我想這在JFrame中輸入代碼在這裏打印,但我似乎無法弄清楚如何。我試圖使用JTextArea,但我真的不認爲這是正確的方法。我嘗試過標籤,但這根本不起作用。這是源代碼。
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Container;
public class MainFrame extends JFrame{
public static int x=0;
public static int y = 0;
MainFrame(String title){
super(title);
// Set Layout
setLayout(new BorderLayout());
while(x<100){
y++;
x++;
System.out.println(x);
Container pane= getContentPane();
JTextArea x = new TextArea("Wateva" + y);
JButton button= new JButton("Wateva man");
pane.add(button, BorderLayout.SOUTH);
pane.add(x);
}
}
}
在控制檯x顯示每增加1,這意味着循環正確運行。我可以作爲初學者程序員的唯一解釋是它創建了JTextArea,但它意識到x已被更新,因此它覆蓋了舊的JTextArea,並且它爲每個數字執行此操作,直到達到100 。我想我使用的是錯誤類型的JComponent,但這就是我來到這裏的原因。所以,如果任何人都可以給我提示或解決如何解決,這將非常感激。
您的代碼根本不涉及JTextArea ... – 2013-04-11 20:04:24
您正在將所有組件添加到同一個地方...也許它們正在彼此鋪設? – HectorLector 2013-04-11 20:09:57
我的不好...我複製並粘貼了我正在試驗的代碼。我更新了它,它現在應該是一個JTextArea。 – 2013-04-11 20:25:13