Système..println à JTextArea

EDIT: j'ai édité le post pour préciser ma question, maintenant, j'ai moi-même plus de compréhension.

Je suis essentiellement, comme le titre le dit, la tentative de sortie de la console à mon JTextArea dans mon GUI, tout en accomplissant les tâches de l'application.

Voici ce que je fais actuellement:

public class TextAreaOutputStream extends OutputStream
{

    private final JTextArea textArea;

    private final StringBuilder sb = new StringBuilder();

    public TextAreaOutputStream(final JTextArea textArea)
    {
        this.textArea = textArea;
    }

    @Override
    public void flush()
    {
    }

    @Override
    public void close()
    {
    }

    @Override
    public void write(int b) throws IOException
    {

        if (b == '\r')
            return;

        if (b == '\n')
        {
            final String text = sb.toString() + "\n";
            SwingUtilities.invokeLater(new Runnable()
            {
                public void run()
                {
                    textArea.append(text);
                }
            });
            sb.setLength(0);
        }
        sb.append((char) b);
    }
}

Ci-dessus aura été re-direct System.out à mon flux de sortie ci-dessus et, par conséquent, l'envoi d'un événement à l' EventQueue de mettre à jour mon GUI (JTextArea).

Voici la question:

Actuellement à l'aide de invokeLater() va comme il est dit sur les docs:

Causes runnable to have its run method called in the dispatch thread of the EventQueue. This will happen after all pending events are processed.

Donc, ce que je veux faire est d'effectuer une mise à jour de l'interface graphique (appel run()) avant de traiter tout le reste dans le EventQueue.

Est-il possible d'injecter un événement essentiellement dans mon EventQueue? Ou quelqu'un peut-il m'indiquer un tutoriel décent sur ce domaine?

merci,

"La solution ci-dessus fonctionne, dans le sens que je reçois sysout mon JTextArea, cependant lorsque j'essaie de le faire dans un actionPerformed(), je n'obtiens pas de résultats." Et vous êtes certain de passer tous ces si ? Il n'y a aucune bonne raison pour laquelle un System.out appel serait de travailler et un autre échec

OriginalL'auteur buymypies | 2013-02-05