Witam, tak jak w temacie mam problem z wyświetlaniem napisów w JTextfield. Dla prostoty tworzą wątek, który odlicza do 10 co 1 sekundę i chcę aby to się pokazywało w polu JtextArea.
private JTextArea txt;
public Worker(JTextArea txt)
{
this.txt = txt;
}
@Override
public void run() {
int i = 0;
while ( i < 10)
{
try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("i= "+i);
txt.setText(i + "\n");
i++;
}
}
public class Main extends JFrame
{
private static final long serialVersionUID = 1L;
JPanel window = new JPanel();
JLabel text;
JTextArea field;
public Main()
{
JFrame frame = new JFrame("rama");
frame.setLayout(new BorderLayout());
field = new JTextArea(5,30);
Worker work = new Worker(field);
Thread thread = new Thread(work);
thread.start();
frame.add(field , BorderLayout.CENTER);
text = new JLabel("Output");
frame.add(text , BorderLayout.NORTH);
frame.pack();
frame.setSize(300, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void main ( String [] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run() {
new Main();
}
});
Póki co wyświetla się kolejna odliczana liczba ale cały czas w 1 linijce a chciałbym żeby się wyświetlało tak jak w konsoli. (System.ou.println -> jedna liczba pod drugą). To prowadzi mnie też do problemu jak zrobić żeby pole JTextArea przejęło rolę konsoli ? Czyli żeby tekst wypisywał się w polu JTextArea zamiast w konsoli. Prosiłbym o jakąś pomoc.