Bonjour,
J'aimerais rediriger le contenu de ma sortie standard vers un JEditorPane.
Lorsque je le fais vers un JTextArea, le résultat est parfait. J'utilise la procédure suivante:
* Création de la classe JTextAreaOutPutStream(JTextArea jta), sous classe de OutputStream
* Puis ensuite redirection au niveau de l'affichage avec)
Code : Sélectionner tout - Visualiser dans une fenêtre à part System.setOut(new PrintStream(un objet de la classe ));
Cependant, je veux pas afficher plus que du texte. J'aimerais insérer des tableaux, des hyperliens etc. J'ai donc refait la même démarche , cette-fois ci avec un JEditorPane. Et rien ne s'affiche. Je ne vois pas l'origine de mon problème. J'ai cherché sur le forum en vain... PLEASE, I NEED HELP.
Voici ma classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 public class JEditorPaneOutputStream extends OutputStream { private JEditorPane editeur;// editeur private StringBuffer texte;// contenu de l'éditeur /** *constructeur */ public JEditorPaneOutputStream(JEditorPane editeur){ this.editeur = editeur; texte = new StringBuffer(); } /**ecrit un tableau de caractère dans le texte représentant le contenu de l'éditeur*/ public void write(byte[] b)throws IOException { write(b, 0, b.length); } public void write(byte[] b, int off, int len) throws IOException{ byte[] bArray = new byte[len]; System.arraycopy(b, off, bArray, 0, len); texte.append(new String(bArray)); } /** * ecrit un caractère dans le string reprénsantant le texte(contenu) de l'eiteur * */ public void write(int b) throws IOException { texte.append(new String(new byte[] { (byte)b })); } }
Partager