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 :

Attente de saisie de l'utilisateur au milieu d'une méthode


Sujet :

AWT/Swing Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Attente de saisie de l'utilisateur au milieu d'une méthode
    Je suis en train de coder une fonctionnalité dans laquelle j'alterne exécution de code et attente de saisie par l'utilisateur.

    En gros, je dois exécuter une méthode M1 et, au milieu de cette méthode, je dois ouvrir une fenetre dans laquelle l'utilisateur doit saisir du texte (enfin, plus exactement faire un choix dans une liste). La méthode, pour continuer son exécution, doit attendre que l'utilisateur ait validé sa saisie. Je ne sais pas comment bloquer l'exécution de la méthode M1 en attendant la saisie par l'utilisateur sans utiliser de Thread (j'écris un plugin et je n'arrive pas a travailler avec plusieurs threads !!!).

    Je ne peux pas utiliser de JDialog, je n'ai pas accès à la Frame de base à passer en paramètre pour rendre la fenetre modale...

    Ce que ca doit faire :

    public void M1(){

    -- série d'instructions

    --> Demande d'informations à l'utilisateur (on ouvre une fenetre)

    -- suite des instructions qui ne doivent s'exécuter qu'une fois que l'utilisateur à validé sa saisie
    }

    si quelqu'un a une idée, elle est la bienvenue

  2. #2
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par tm@imag.fr
    Je suis en train de coder une fonctionnalité dans laquelle j'alterne exécution de code et attente de saisie par l'utilisateur.

    En gros, je dois exécuter une méthode M1 et, au milieu de cette méthode, je dois ouvrir une fenetre dans laquelle l'utilisateur doit saisir du texte (enfin, plus exactement faire un choix dans une liste). La méthode, pour continuer son exécution, doit attendre que l'utilisateur ait validé sa saisie. Je ne sais pas comment bloquer l'exécution de la méthode M1 en attendant la saisie par l'utilisateur sans utiliser de Thread (j'écris un plugin et je n'arrive pas a travailler avec plusieurs threads !!!).

    Je ne peux pas utiliser de JDialog, je n'ai pas accès à la Frame de base à passer en paramètre pour rendre la fenetre modale...

    Ce que ca doit faire :

    public void M1(){

    -- série d'instructions

    --> Demande d'informations à l'utilisateur (on ouvre une fenetre)

    -- suite des instructions qui ne doivent s'exécuter qu'une fois que l'utilisateur à validé sa saisie
    }

    si quelqu'un a une idée, elle est la bienvenue
    JOptionPane est approprié...

    Sinon, tu as forcément accès à la JFrame parent, puisque c'est celle qui est la base de ton interface... Si tu as juste à coder une méthode sans connaître l'interface, passe la Frame en paramètre de ton constructeur

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut ok, bidouille pour résoudre
    Bon, désolé d'avoir chargé le forum pour rien. Je propose ma solution au cas ou ca intéresse quelqu'un.

    Pour faire ca, il faut créer une JDialog en utilisant le constructeur qui prend en paramètre (Frame f, boolean modal).

    Pour la frame, il ne faut pas mettre null (ambiguous) mais créer un attribut Frame f=null pour lui passer en paramètre. Ainsi, la fenetre s'ouvre en modale.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class MonInterface extends JDialog{
    private static Frame f=null
     
    public MonInterface(){
        super(f,true);
    }
    }

  4. #4
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par tm@imag.fr
    Bon, désolé d'avoir chargé le forum pour rien. Je propose ma solution au cas ou ca intéresse quelqu'un.

    Pour faire ca, il faut créer une JDialog en utilisant le constructeur qui prend en paramètre (Frame f, boolean modal).

    Pour la frame, il ne faut pas mettre null (ambiguous) mais créer un attribut Frame f=null pour lui passer en paramètre. Ainsi, la fenetre s'ouvre en modale.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class MonInterface extends JDialog{
    private static Frame f=null
     
    public MonInterface(){
        super(f,true);
    }
    }
    Si c juste pour choisir dans une liste, utilise JOptionPane, c comme en JDialog sauf que la liste des déjà faite

    Et sinon, pourquoi ta Frame est static?

    Tu peux faire le constructeur public MonInterface(Frame frame) pour pouvoir l'appeler sur différentes frames

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2010, 12h05
  2. Réponses: 2
    Dernier message: 26/12/2006, 17h33
  3. Saisie continue par utilisateur
    Par Vivian Pennel dans le forum Ada
    Réponses: 10
    Dernier message: 20/11/2006, 10h48
  4. Réponses: 3
    Dernier message: 21/05/2006, 14h16
  5. [JAVA] attente de réaction d'un utilisateur
    Par miel dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 27/04/2006, 07h47

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