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

  FORUM HardWare.fr
  Programmation
  Java

  [SWING + THREAD] Création d'une console - RESOLU

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SWING + THREAD] Création d'une console - RESOLU

n°365824
Roco
Posté le 18-04-2003 à 01:34:24  profilanswer
 

Salut,
 
Je suis en train d'apprendre comment utiliser les threads avec le livre "Au coeur de Java 2" et je bloque au chapitre "Threads et Swing".
 
En effet, je voudrais me réaliser une petite console graphique en Java qui puisse me permettre de réaliser des sorties plutôt que de passer par la console de Windows, ne cherchez pas l interet...
 
Et la je bloque quand je veux mettre a jour le label de ma console...
 
Je suis assez perdu, voici le code
 
http://eric.ledonge.free.fr/Console.txt


Message édité par Roco le 18-04-2003 à 12:20:43

---------------
[:roco] Un chtit café et hop ça repart !
mood
Publicité
Posté le 18-04-2003 à 01:34:24  profilanswer
 

n°365908
darklord
You're welcome
Posté le 18-04-2003 à 09:34:17  profilanswer
 

[:totoz]
 
c'est quoi ce maJLbal qui implemente Runnable là ... Ca fait que dale :??:
 


---------------
Just because you feel good does not make you right
n°366018
Roco
Posté le 18-04-2003 à 10:26:36  profilanswer
 

Oui, j'ai peut-être fait fausse route.
 
En plus j'ai utilisé un label au lieu d'un JTextArea.
 
Le but de mon programme c'est de réaliser une sorte de simulation de console pour pouvoir tester mes applis courantes en mode texte en me passant de la cosole DOS de Windows.
 
Tout mes applis courantes sont des threads qui font habituellement des System.out.println et je voudrais les remplacer en les affichant sur l'écran de ma propre console.
 
Un peu d'aide plize !!!


---------------
[:roco] Un chtit café et hop ça repart !
n°366278
Roco
Posté le 18-04-2003 à 12:21:01  profilanswer
 

C bon, chui con c'était facile...


---------------
[:roco] Un chtit café et hop ça repart !
n°366412
darklord
You're welcome
Posté le 18-04-2003 à 14:30:04  profilanswer
 

Roco a écrit :

C bon, chui con c'était facile...


 
bin donne la solution pour en faire profiter les autres patates :o


---------------
Just because you feel good does not make you right
n°366709
Roco
Posté le 18-04-2003 à 17:26:10  profilanswer
 

En fait, sur mon bouquin, ce morceau de code traitait les threads de Swing, c'est-à-dire des threads provoqués par des composants swing eux-même (ex : barre de progression). Enfin, j'avoue que je n'ai pas encore bien saisi cette partie !  [:xmamatx]  
 
Par contre j'ai réalisé ma petite console (juste pour faire des sorties).
 
Voilà les sources (j'ai pas de connexion FTP et quand je fais un copier-coller depuis mon ide, l'indentation déconne toujours sur le forum, donc scusez) :
 

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. public class Ecriture {
  5. public static void main(String[] args) {
  6.  Fenetre maFenetre = new Fenetre();
  7.  maFenetre.show();
  8.  Ecrivain e1 = new Ecrivain(maFenetre, "Thread 1" );
  9.  e1.start();
  10.  Ecrivain e2 = new Ecrivain(maFenetre, "Thread 2" );
  11.  e2.start();
  12. }
  13. }
  14. class Ecrivain extends Thread {
  15. private Fenetre maFenetre;
  16. private String monNom;
  17. private DefaultListModel monModele;
  18. public Ecrivain(Fenetre uneFenetre, String unNom) {
  19.  maFenetre = uneFenetre;
  20.  monNom = unNom;
  21. }
  22. static String Entier_a_Chaine(int entier) {
  23.     Integer i = new Integer(entier) ;
  24.     return i.toString() ;
  25. }
  26. public void run() {
  27.  for (int i = 0; i <= 10; i++) {
  28.   maFenetre.afficherTexte(monNom + " : " + Entier_a_Chaine(i));
  29.   yield();
  30.  }
  31. }
  32. }


 

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. public class Console {
  5. public static void main(String[] args) {
  6.  Fenetre maFenetre = new Fenetre();
  7.  maFenetre.show();
  8. }
  9. }
  10. class Fenetre extends JFrame {
  11. private static final String TITRE = "Console";
  12. private static final String SIGNATURE = "Console writed by Eric Le Donge";
  13. private static final int WIDTH = 640;
  14. private static final int HEIGHT = 480;
  15. private JPanel panneau;
  16. private JLabel etiquette;
  17. private JScrollPane scrolling;
  18. private JList liste;
  19. private DefaultListModel modele;
  20. private Font police;
  21. private Dimension dim;
  22. public Fenetre() {
  23.  // titre
  24.  setTitle(TITRE);
  25.  // taille  
  26.  setSize(WIDTH, HEIGHT);
  27.  // fermeture
  28.  addWindowListener(new WindowAdapter() {
  29.   public void windowClosing(WindowEvent e) {
  30.    System.exit(0);
  31.   }
  32.  });
  33.  // dimension
  34.  dim = new Dimension(610, 420);
  35.  // police
  36.  police = new Font("Verdana", 0, 12);
  37.  // panneau  
  38.  panneau = new JPanel();
  39.  // signature
  40.  etiquette = new JLabel(SIGNATURE);
  41.  etiquette.setFont(police);
  42.  // modele
  43.  modele = new DefaultListModel();
  44.  // liste
  45.  liste = new JList(modele);
  46.  liste.setFont(police);
  47.  //liste.setPreferredSize(dim);
  48.  // scrolling
  49.  scrolling = new JScrollPane(liste);
  50.  scrolling.setPreferredSize(dim);
  51.  // mise en forme  
  52.  panneau.add(scrolling, "Center" );
  53.  panneau.add(etiquette, "South" );
  54.  getContentPane().add(panneau);
  55. }
  56. public void afficherTexte(String unTexte) {
  57.  modele.addElement(unTexte);
  58. }
  59. }


 
Tu vas me faire une revue de code, dark ?
 
++
 
Edit : faute d'orthographe pas belle


Message édité par Roco le 18-04-2003 à 17:27:48

---------------
[:roco] Un chtit café et hop ça repart !
n°366729
Roco
Posté le 18-04-2003 à 17:55:59  profilanswer
 

Heu et avec un Thread un peu plus "propre"...
 

Code :
  1. class Ecrivain implements Runnable {
  2. private Fenetre maFenetre;
  3. private String monNom;
  4. private DefaultListModel monModele;
  5. private Thread runner;
  6. public Ecrivain(Fenetre uneFenetre, String unNom) {
  7.  maFenetre = uneFenetre;
  8.  monNom = unNom;
  9. }
  10. static String Entier_a_Chaine(int entier) {
  11.     Integer i = new Integer(entier) ;
  12.     return i.toString() ;
  13. }
  14. public void start() {
  15.  if (runner == null) {
  16.   runner = new Thread(this);
  17.   runner.start();
  18.  }
  19. }
  20. public void run() {
  21.  for (int i = 0; i <= 10; i++) {
  22.   maFenetre.afficherTexte(monNom + " : " + Entier_a_Chaine(i));
  23.   runner.yield();
  24.  }
  25. }
  26. }


 
++


---------------
[:roco] Un chtit café et hop ça repart !
n°366730
deltaden
Posté le 18-04-2003 à 17:59:16  profilanswer
 

mmh, ta méthode entier_a_chaine(int i) ne sert pas à grand chose,
tu peux faire directement maFenetre.afficherTexte(monNom + " : " + i); Tu peux directement "additionner" un string avec un entier.
 
Au cas où tu ne veux afficher qu'un entier, alors oui, il faut bien convertir l'entier en string. Mais alors, au lieu de créer un objet Integer, il vaut mieux utiliser la méthode statique: Integer.toString(int i)


---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
n°367013
Roco
Posté le 19-04-2003 à 01:28:05  profilanswer
 

deltaden a écrit :

mmh, ta méthode entier_a_chaine(int i) ne sert pas à grand chose,
tu peux faire directement maFenetre.afficherTexte(monNom + " : " + i); Tu peux directement "additionner" un string avec un entier.
 
Au cas où tu ne veux afficher qu'un entier, alors oui, il faut bien convertir l'entier en string. Mais alors, au lieu de créer un objet Integer, il vaut mieux utiliser la méthode statique: Integer.toString(int i)


 
 [:z-bob]  
 
Merci, j'avais choppé cette méthode sur le net car je ne retrouvais plus mon cours de conversion de type  [:xmamatx]


---------------
[:roco] Un chtit café et hop ça repart !
n°367025
deltaden
Posté le 19-04-2003 à 03:24:03  profilanswer
 

:non:  et la javadoc sur le site de Sun, c'est pour les chiens ?    ;)


Message édité par deltaden le 19-04-2003 à 03:24:21

---------------
"La Terre est le berceau de l'humanité, mais on ne passe pas toute sa vie au berceau." - Konstantine Tsiolkovski
mood
Publicité
Posté le 19-04-2003 à 03:24:03  profilanswer
 

n°367368
veryfree
Posté le 19-04-2003 à 21:31:10  profilanswer
 

et puis des noms de methodes en anglais c carrement mieux [:ddr555]


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

  [SWING + THREAD] Création d'une console - RESOLU

 

Sujets relatifs
Creation d une table de conversion[RESOLU][JTree][JPopupMenu] Créer un menu contextuel (clic droit)
Exécuter un programme php automatiquement [résolu][ASM] Création d'une DLL en MASM32 pour un client VB6
[Swing] Question sur GUI, affichage et rafraichissementbug dans mon programme vb.net besoin d'aide ( resolu)
Lecture et ecriture sur des ports tcp [Resolu] MerciUtiliser les etats d'access à partir de VB... (RESOLU)
[Oracle&SQL].sql contenant la creation de plusieurs triggers (RESOLU) 
Plus de sujets relatifs à : [SWING + THREAD] Création d'une console - RESOLU


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