REDIRECTION DES FLUX SYSTEM.OUT ET SYSTEM.ERR DANS UNE JTEXTAREA

Signaler
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
-
Messages postés
7
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
28 avril 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/44400-redirection-des-flux-system-out-et-system-err-dans-une-jtextarea

Messages postés
7
Date d'inscription
jeudi 14 février 2008
Statut
Membre
Dernière intervention
28 avril 2008

Merci c'est très intéressant
Messages postés
5
Date d'inscription
vendredi 16 juillet 2004
Statut
Membre
Dernière intervention
19 mai 2008

Pourquoi faire si compliqué ?

JTextArea ta = new JTextArea(16, 80);
PrintStream ps = new PrintStream(new TextAreaOutputStream(ta));
System.setOut(ps);
System.setErr(ps);

class TextAreaOutputStream extends OutputStream {

private JTextArea ta;

public TextAreaOutputStream(JTextArea ta) {
this.ta = ta;
}

public synchronized void write(int b) throws IOException {
ta.append(String.valueOf((char) b));
}
}
Messages postés
2
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
4 décembre 2007

merci beaucoup pour votre prompt reponse...
Messages postés
32
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
26 janvier 2009

Bien sur, c'est meme le but de cette console, voici un exemple pour intégrer la console :
/*
* Test.java
* Ce fichier permet de tester Console.java qui est une JInternalFrame
* Il est possible d'utiliser Console.java en tant que Frame ou JDialog, il suffit
* de modifier l'héritage.
* Remarque : les flux ne sont pas réinitialisés à la fermeture de la JInternalFrame.
* Attention au package, les deux classes sont mises dans le package par défaut.
*/

import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

/**
* @author ronan
*/
public class Test {
public Test() {
// Préparation d'une JFrame'
JFrame frame = new JFrame("Test");
frame.setSize(600,600);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setLocationRelativeTo(SwingUtilities.getRoot(frame));
JDesktopPane desktop = new JDesktopPane();
frame.add(desktop);

Console console = new Console();
desktop.add(console);

frame.setVisible(true);

System.out.println("un petit test");
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new Test();
}
}
Afficher les 6 commentaires