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 :

Comment poster un événement ?


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Par défaut Comment poster un événement ?
    Bonjour à tous,

    J'essaye d'ouvrir une fenêtre fille dans le code d'un événement "Event_A" dans un thread A, suelement le petit problème c'est que tant que la fenêtre n'est pas fermée, les événements qui se suivent après "l'Event_A" sont mis dans une queue et ne sont pas déclenchés.
    J'ai pensé alors à déclenché l'ouverture de ma fenêtre à l'issue de l'event A, mais le code suvant ne fonctionne pas :

    Code de l'event A :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    fenetreBt.setEtatTransfert(FenetreTransfert.ETAT_INIT);
    Button parent = new Button();
    parent.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent arg0) {
        fenetreBt.openTransfert();	
      }});
    parent.postEvent(new Event(parent, Event.ACTION_EVENT, null));
    Quelqu'un peut-il m'éclairer ?

    Merci.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 194
    Par défaut
    Ton code n'est pas très explicite.

    C'est fenetreBt.openTransfert() qui lance le thread A ? Je crois deviner que cette méthode contient une boucle qui attend la fermeture de la fenêtre. Si c'est bien le cas, il est tout à fait normal que les évènements suivant attendent que cette méthode retournent.

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Par défaut
    Non en fait c'est un événement envoyé par un serveur qui lance l'event_A.
    L'event_A déclenche l'ouverture d'une fenêtre modale.
    La fenêtre modale empêche l'écoute de tous les autres événements.
    Lorsque la fenêtre modale est ouverte manuellement, nous n'avons aucun problème pour écouter les events. (???)

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 194
    Par défaut
    Ok, Event_A n'a aucun rapport avec ActionEvent, si j'ai bien compris Event_A est un évènement fenestré déclenché par une classe qui écoute un port réseau. Dans ce cas, je pense que le problème ne vient pas de la partie de code que tu nous as montré.

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 10
    Par défaut
    Si ça intéresse quelqu'un on a réussi à trouver quelue chose qui fonctionne bien.
    On place dans l'événement event_A qui était à la base censé ouvrir la fenêtre une queue qui déclenche l'événement de l'écouteur de "parent" déclaré dans le constructeur de l'objet.
    Une nouvelle queue d'evenement qui permet de déclenché en parallèle un event sans attendre la fermeture de la fenêtre.
    Le code de l'ouverture de la fenêtre a été déplacé dans l'écouteur 'actionListener' de l'objet "parent".

    EventQueue e = new EventQueue();
    e.postEvent(new ActionEvent(parent, Event.ACTION_EVENT, null));

    Voilà,
    J'espère que ça pourra dépanner d'autres personnes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant][C#] Comment gérer les événements ?
    Par aDamas dans le forum Windows Forms
    Réponses: 11
    Dernier message: 14/12/2005, 00h16
  2. Comment connaître l'événement qui a provoqué le TForm.show ?
    Par OutOfRange dans le forum Composants VCL
    Réponses: 1
    Dernier message: 01/08/2005, 09h59
  3. Réponses: 5
    Dernier message: 25/07/2005, 09h29
  4. Réponses: 5
    Dernier message: 21/12/2004, 12h00
  5. [COM] Comment utiliser les événements Word ?
    Par Laurent Dardenne dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 30/05/2004, 12h38

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