O cógigo abaixo escreve algumas mensagem em um JTextArea, o problema é que quando coloco o método “mensagem” diretamente no construtor ele vai aparecendo progressivamente, mas quando coloco no evento do botão ele fica travado e so aparece depois que termina de escrever tudo. Como faria para que no evento ele também apareça progressivamente???
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class Comandos implements ActionListener {
private static JDialog d;
private static JTextArea texto;
private static JButton b;
private static void mensagem(JTextArea alvo) {
for (int x=0; x<500; x++)
alvo.setText( alvo.getText() + "Mensagem Mensagem Mensagem\n" );
}
public Comandos() {
d = new JDialog();
texto = new JTextArea();
b = new JButton("ping");
texto.setEditable(false);
texto.setBounds(0, 0, 400, 400);
b.setBounds(200, 510, 100, 40);
b.addActionListener(this);
Container c = d.getContentPane();
c.setLayout(null);
c.add(b);
c.add(texto);
d.setResizable(false);
d.setSize(800, 600);
d.setLocationRelativeTo(null);
d.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
d.setVisible(true);
mensagem(texto);
}
public void actionPerformed( ActionEvent e ) {
mensagem(texto);
}
public static void main(String args[]) {
new Comandos();
}
}