>> Il n'y a pas plus simple ?
Je ne crois pas ! Mais en fait cela n'a rien de vraiment compliqu� ! Bon,
imaginons notre JTextArea (area).
a) cr�er un flux java.io.OutputStream qui va ajouter du texte � area
OutputStream ostream = new OutputStream()
{
public void write(int b)
{
String str = String.valueOf((char) b);
area.append(str);
}
};
b) cr�er ensuite un java.io.PrintStream
PrintStream ps = new PrintStream(ostream);
c) rediriger System.out vers ps :
System.setOut(ps);
... et le tour est jou� ! Bon, pas test� cette fois-ci, mais j'ai d�j� fait
des trucs du genre.
-----Message d'origine-----
De : Aurelien Mazurie [mailto:[EMAIL PROTECTED]]
Envoy� : mercredi 25 septembre 2002 12:48
� : java
Objet : Redirection d'un output
Bonjour � tous,
Une autre question de d�butant pour titiller votre sagacit� =)
J'ai un objet (pour la petite histoire, un interpr�teur Python,
Jython) qui me g�n�re du texte dans la sortie standard. Moi ce que je
cherche � faire, c'est deux choses:
- rediriger cette sortie vers une "console", cod�e en Swing (en fait un
JTextArea)
- � partir de la console (�ditable), envoyer des String �
l'interpr�teur (lorsque l'utilisateur tappe quelque chose)
Bon, la deuxi�me partie c'est (relativement) facile mais c'est la
premi�re qui me pose des probl�mes. J'ai parcouru une quantit�
astronomique d'archives de mailing-list, de docs, etc., mais � chaque
fois ils ne r�pondaient pas � cette question simple: comment rediriger
ce qui va � l'origine vers System.out vers un composant texte Swing ?
C'est affreux, surtout que je n'y connais rien en gestion des
streams... Il semble, d'apr�s ce que j'ai vu, qu'il soit n�cessaire de
coder une sorte de Writer qui re�oit le flux (l'interpr�teur a une
m�thode .setOut() pour indiquer le r�ceptionnaire du flux), et s'occupe
de remplir le JTextArea via les m�thodes .setText() ou similaires. Il
n'y a pas plus simple ?
Quelqu'un aurait un code source sous la main qui fait �a ? Le pire,
c'est que l'IDE que j'utilise est lui-m�me en Java, et justement
affiche la sortie standard dans une fen�tre Swing... Ahh... Si je
pouvais d�compiler le code de ce truc... (mais c'est obfusqu� =)
Aur�lien Mazurie