Приветствую всех, это мой первый вопрос, поэтому я надеюсь, что он хороший. Я изучал API-интерфейс swing, и я столкнулся с вопросом, который появился у меня в голове. Я в основном спросил мой сам, если бы я мог создать программу, которая может использовать 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 вообще ... –
Вы добавляете все компоненты в одно и то же место ... Может быть, они накладываются друг на друга? – HectorLector
Мой плохой ... Я скопировал и вставил код, с которым я экспериментировал. Я обновил его, теперь должен быть JTextArea. –