IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Thread JAVA et SWING


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Par défaut Thread JAVA et SWING
    Bonjour,

    J'aurais quelques question au sujet des Threads.
    Je dois mettre en parallèle différents guichet de banque dans mon application java.
    J'ai donc besoin de plusieurs threads; Juqu'à la tout va bien.
    Je vais donc devoir écrire ma méthode run()...
    C la que j'ai un petit probleme.
    En effet, je dois pouvoir gérer en parallèle donc 2 guichets qui sont en fait une succession de JFrame !!!
    Comment faire pour que la methode thread tienne compte de cette succession de JFrame et ne se termine que lorque la derniere fenetre est fermé.

    J'epère avoir été assez clair. J'ai mit quelques ligne de code en esperant que cela vous aide.

    Merci d'avance.

    C'est ici que je defini mon nouveau Thread

    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
    public class FenetreIdentGuichet extends JFrame implements ActionListener,Runnable {
    		
    	// Declaration
    	
    	public FenetreIdentGuichet(Bank.Banque labanque)
           {
                // Creation de notre affichage	
    	}
    	
    
    	public void actionPerformed(ActionEvent e) 
    	{
              Object source= e.getSource();
    		
              if(source==boutonValider)
              {	
            	if(tabClient.isEmpty())
            	{
            		this.dispose();
            	}
            	else
            	{
            		Controleur.ControlIdentGuichet cig = new Controleur.ControlIdentGuichet(banque,this,c,numCompte);
                           -> Qui lui meme va appellé un affichage -> Controluer  -> dernier affichage ...
            	}
              }
           }
    
           public void run() { ?????????????????????}

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Par défaut
    Bonjour,

    Suite à une relecture de l'énoncé de mon problème, je me suis aperçu qu'il n'était pas très clair.
    Je vais donc reformuler ma question...

    Je voudrais savoir comment gérer une succession d'affichage dans le run() d'un Thread.

    Probleme:
    Par exemple si je clique sur un bouton valider -> Je lance alors un thread qui va ouvrir une première fenêtre qui va alors ouvrir si je valide une autre fenêtre ainsi dessuite jusqu'à une fenêtre finale...

    Comment faire pour coder cette succession d'affichage dans le run() ???

    En effet, si je ne lance que la premiere fenetre dans le run() alors une fois ouverte c'est la fin de thread (j'ai fini mon run()) et les autres fentres ne sont pas pris en compte dans mon run().

    De cette manière je pourrais lancé plusieurs fois cet suite d'affichage de manière indépendante sans qu'un affichage me bloque un autre affichage.

    Merci d'avance

  3. #3
    Membre chevronné Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Par défaut
    Je dis peut être une bétise mais pourquoi tu ne gère pas tes cas dans une même frame, avec une succession de panel ?

    EDIT : En fait en relisant ton post, je ne vois pas bien ou est le problème, pourquoi a tu besoin des thread ? Surtout que enb ce qui concerne les élément graphique, je crois qu'il est conseillé d'utiliser SwingUtilities.invokeLater.

    Tu as des opération bloquante dans tes fenetres ?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    +1 aucune nécessité de thread supplémentaire. Pour chaque "guichet tu ouvre simplement la première fenetre. Ensuite, c'est le code présent dans les fenetres qui dois gérer l'état de ton guichet et la succession des fenetre. Naivement, ca resemblerait a ca:

    main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    new PremiereFrame(guichet1).setVisible(true);
    new PremiereFrame(guichet2).setVisible(true);
    ....
    classe PremiereFrame avec un constructeur prenant un guichet en parametre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       // quelque part dans du code d'action
       // mettre à jour le guichet
       guichet.setXYZ(valeurXYZ);
       //on se cache
       this.setVisible(false);
       // on affiche la frame suivante
       new SecondFrame(guichet).setVisible(true);
       // et voila!
    }

Discussions similaires

  1. [JNI] Problème dû aux threads Java
    Par seiryujay dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 27/11/2006, 13h14
  2. java et swing - bureau graphique nécessaire ?
    Par wrapx dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 16/10/2006, 07h31
  3. cherche lien appli java complete swing
    Par lepetitjoe dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 07/09/2006, 23h11
  4. thread java pour impression
    Par ericT dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 11/07/2006, 15h09
  5. [PROFILER][THREAD][java.prof] outil gratuit/complet?
    Par narmataru dans le forum Général Java
    Réponses: 11
    Dernier message: 16/11/2005, 12h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo