Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2385 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Rediriger la sortie d'erreur standard vers une JTextArea

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Rediriger la sortie d'erreur standard vers une JTextArea

n°584757
peak
Posté le 07-12-2003 à 14:10:09  profilanswer
 

Bonjour, je cherche à savoir si il est possible, en Java, de rediriger tous les messages d'erreurs vers un JTextArea?
Je cherche un peu l'équivalent du freopen en C mais je ne sais même pas vraiment comment sont géré les input des JTextArea en java (est-ce un peu comme les terminaux et leurs files decriptors en C (dev/tty sous Linux) ?)
Ou si je doit par exemple créé un thread écoutant la sortie et la redirigeant vers le JTextArea avec SetText?
 
J'ai aucune expérience en java c'est la raison pour laquelle je ne sais pas vraiment de quelle coté allé voir...
 
 :jap: merci d'avance.


Message édité par peak le 07-12-2003 à 14:12:20
mood
Publicité
Posté le 07-12-2003 à 14:10:09  profilanswer
 

n°584761
darklord
You're welcome
Posté le 07-12-2003 à 14:29:49  profilanswer
 

regarde log4j déjà pour une structure de logging uniforme. Sinon tu peux rediriger les canaux de sortie et d'erreur vers un autre pipe, voir la classe java.lang.System dans la javadoc

n°584770
nraynaud
lol
Posté le 07-12-2003 à 14:57:26  profilanswer
 

http://www.google.com/search?hl=en [...] gle+Search
 
ça a pas l'air d'être prévu en standard.
À la louche, je dirais qu'il faut diriger le flux vers le Document du JTextArea http://java.sun.com/j2se/1.4.2/doc [...] ument.html
Le pb c'est que le flux fonctionne en continu et que le document fonctionne par actions (avec undo etc.) il faut donc adapter. Et j'ai pas vu d'adaptateur tout fait.


---------------
trainoo.com, c'est fini
n°584818
peak
Posté le 07-12-2003 à 16:49:19  profilanswer
 

Merci pour vos conseils mais comme je suis à la bourre  :ange:  pour mon projet ; j'ai opté pour une solution plus brouillonne avec une class contenant JTextArea static qui utilise une fonction membre qui tape les messages d'erreurs dedans...
A mon avis si ce que je cherchais n'est pas courrant c'est que ça ne doit pas être la meilleur manière de faire.
 
remerci
:bounce:
 

n°584824
benou
Posté le 07-12-2003 à 16:54:36  profilanswer
 

nraynaud a écrit :

ça a pas l'air d'être prévu en standard.


[:w3c compliant]
 

nraynaud a écrit :


Le pb c'est que le flux fonctionne en continu et que le document fonctionne par actions (avec undo etc.) il faut donc adapter. Et j'ai pas vu d'adaptateur tout fait.


bha c'est super simple ! tu surcharge la méthode write(int) d'un Outputstream, tu le fous dans un PrintStream et tu le colles en stderr ...
 
allez, en une ligne pour le fun :

Code :
  1. System.setErr(new PrintStream(new OutputStream() { public void write(int b) { tonTextArea.append(new String(new char[(char) b])); }}));


 
si t'as le droit à plus de lignes, c'est quand même mieux de surcharger toutes les méthodes write de l'outputstream ;)
 
 
edit : mais le mieux c'est d'utiliser des vrai produit de log comme le disait dark : log4j, ou le package logging du jdk1.4 (que j'ai toujours pas regardé)


Message édité par benou le 07-12-2003 à 16:56:10

---------------
ma vie, mon oeuvre - HomePlayer
n°584867
peak
Posté le 07-12-2003 à 18:23:57  profilanswer
 

ha ouais, pas mal, j'y avais pas pensé.
C'est que je suis pas encore habitiué au bons réflexes du java moi.
En tout cas merci à vous 3!
 
edit : orthographe quand tu nous tiens...


Message édité par peak le 07-12-2003 à 18:26:21
n°584929
the real m​oins moins
Posté le 07-12-2003 à 19:28:16  profilanswer
 

en meme temps, utiliser de System.err je vois pas trop l'interet si on sait d'avance que l'appli va systematiquement rediriger ça vers un textarea... à moins qu'on veuille capter des erreurs de parties du code independantes et qu'on ne peut modifier... :??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°586778
nraynaud
lol
Posté le 09-12-2003 à 18:38:49  profilanswer
 

http://java.sun.com/j2se/1.4.2/doc [...] ng.Object)
 
merde, on est tous bigleux ou quoi ?


---------------
trainoo.com, c'est fini
n°586882
benou
Posté le 09-12-2003 à 20:51:11  profilanswer
 


 :heink:  
 
tu peux préciser le fond de ta pensée ?


---------------
ma vie, mon oeuvre - HomePlayer
n°586886
nraynaud
lol
Posté le 09-12-2003 à 20:55:38  profilanswer
 

Ben l'adaptation est déjà faite, j'avais gueulé qu'elle y était pas, t'avais fait une bidouille au scotch alors que par hasard je suis tombé dessus.


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 09-12-2003 à 20:55:38  profilanswer
 

n°586890
benou
Posté le 09-12-2003 à 20:58:48  profilanswer
 

nraynaud a écrit :

Ben l'adaptation est déjà faite, j'avais gueulé qu'elle y était pas, t'avais fait une bidouille au scotch alors que par hasard je suis tombé dessus.


mais ca a rien à voir  :sweat:


---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Rediriger la sortie d'erreur standard vers une JTextArea

 

Sujets relatifs
Rediriger le message d'erreur dans un fichierCSV vers MySLQ
[php-sql] erreur avec create databaseRequète SQL : spécifique SQL Server ou standard selon vous ?
[php/sql] erreur non identifiable...Erreur sous Visual Basic 6
[Postgres] pb de connexion via JDBC : "erreur peu commune"Où est l'erreur ?
[MySQL] Erreur de syntaxe que je ne comprend pas ! (aléatoire en plus) 
Plus de sujets relatifs à : Rediriger la sortie d'erreur standard vers une JTextArea


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR