java - télécharger - windowbuilder tutorial pdf




Comment rediriger toutes les sorties de la console vers une zone de texte GUI? (2)

J'ai actuellement un programme qui imprime des lignes de texte à l'écran de diverses manières telles que les instructions 'System.out.println ()' et pour les boucles l'impression tous les éléments dans un tableau à l'écran.

J'ajoute maintenant une interface graphique à ce programme. Mon problème est que je veux imprimer tout ce qui imprime sur la console d'Eclipse dans une zone de texte de mon interface graphique. Est-ce possible et si oui, comment ferais-je cela?

Merci d'avance.


Une idée:

Créez votre propre PrintStream qui affiche tout dans cette zone de texte. Ensuite, définissez ce nouveau PrintStream comme le flux de sortie standard comme ceci:

System.setOut(myPrintStream());

Découvrez cet article de blog, intitulé Redirection System.out et System.err vers JTextPane ou JTextArea . Il décrit presque tout ce dont vous avez besoin.

L'idée de base est que vous créez votre propre flux de sortie spécialisé. Dans votre implémentation des méthodes write() , vous appelez du code pour ajouter les nouvelles données à votre zone de texte. Ensuite, vous définissez ce nouveau flux de sortie comme votre System.out en appelant System.setOut() ou System.setErr() .

NOTE: il manque une chose à cet article. Vous devez démarrer votre programme dans un fil séparé .







user-interface