大家好,欢迎大家,这是我的第一个问题,所以我希望这是一个好的问题。我在探索 swing API 时遇到了一个突然出现在我脑海中的问题。我基本上问自己是否可以构建一个可以使用while()
循环并在控制台中显示多个 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 覆盖旧的 JTextArea,它对每个数字都执行此操作,直到达到 100 . 我认为我使用了错误类型的 JComponent,但这就是我在这里的原因。因此,如果有人可以就如何修复给我提示或解决方案,将不胜感激。