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

 Java Discussion :

Fermer un ShowInputDialog


Sujet :

Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 755
    Points : 208
    Points
    208
    Par défaut Fermer un ShowInputDialog
    Bonjour je voudrais pouvoir fermer une boite de dialogue après que l'utilisateur ait cliqué sur le bouton OK ou Annuler :
    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
     
    public void boiteSaisie()
         {
         System.out.print("Boite Saisie");
         Personne[] choix; 
         choix=new Personne[5]; 
         choix[0] = new Personne("Wayne", "John",LocalDate.of(1907,5,26)); 
         choix[1] = new Personne("McQueen", "Steeve",LocalDate.of(1930,3,24)); 
         choix[2] = new Personne("Lennon", "John",LocalDate.of(1940,10,9)); 
         choix[3] = new Personne("Gibson", "Mel",LocalDate.of(1956,1,3)); 
         choix[4] = new Personne("Willis", "Bruce",LocalDate.of(1955,3,19)); 
     
         Personne choisie; 
     
         choisie=(Personne)JOptionPane.showInputDialog(null, 
         "sélectionner le client","recherche d’un client", 
         JOptionPane.WARNING_MESSAGE,null,choix,choix[1]);
         System.out.println(choisie);
    Cette procédure est appelé après le focus sur une fenetre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      //Evènement focus sur JTextArea txt
     
         txt.addFocusListener(new FocusListener()
         {
    			@Override
    			public void focusGained(FocusEvent arg0) {
    				// TODO Auto-generated method stub
    				{System.out.print("boite Saisie action event");
       	         boiteSaisie();
       	       }
    Si quelqu'un a une idée MERCI

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 84
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    Voici ce que je te suggère.
    Dans ton JDialog ajoute un actionlistener à ton button "ok":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    btOk.addActionListener(new ActionListener() {
    	@Override
    	public void actionPerformed(ActionEvent evt) {
    		okPerformed();
    	}
    });
    Puis tu fermes la fenêtre sur l'event:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void okPerformed() {
    	this.setVisible(false);
    	this.dispose();
    }
    bon courage.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 755
    Points : 208
    Points
    208
    Par défaut
    Merci pour ta réponse en fait j'ai fait différemment en créant une classe interne
    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
    31
    32
    33
    34
    35
     //Boite de Saisie classe Interne
         class boiteSaisie  
         {
        	 public boiteSaisie() 
        	 {
         Personne[] choix; 
         choix=new Personne[5]; 
         choix[0] = new Personne("Wayne", "John",LocalDate.of(1907,5,26)); 
         choix[1] = new Personne("McQueen", "Steeve",LocalDate.of(1930,3,24)); 
         choix[2] = new Personne("Lennon", "John",LocalDate.of(1940,10,9)); 
         choix[3] = new Personne("Gibson", "Mel",LocalDate.of(1956,1,3)); 
         choix[4] = new Personne("Willis", "Bruce",LocalDate.of(1955,3,19));                       
         Personne choisie;  
         choisie=(Personne)JOptionPane.showInputDialog(pano, 
         "sélectionner le client","recherche d’un client", 
         JOptionPane.WARNING_MESSAGE,null,choix,choix[0]); 
         if(choisie!=null)
              {
               txt.setText(choisie.toString());
              }
         else
              {
            	  JOptionPane.showMessageDialog(pano, 
            			     "Vous allez annuler votre sélection...","recherche d’un client", 
            			     JOptionPane.WARNING_MESSAGE);
            	  int rep=JOptionPane.showConfirmDialog(pano, 
         			     "Confirmez votre choix","recherche d’un client",JOptionPane.YES_NO_OPTION, 
         			     JOptionPane.WARNING_MESSAGE);
            	  if(rep==JOptionPane.NO_OPTION)
            	  {
            	  boiteSaisie b=new boiteSaisie();
            	  }
              }
     		}
         }
    et attribuer un évènement à une coche pour lancer la boite de saisie, car l'évènement sur focus de la zone texte ne s'arrêtait jamais c'est pour cela que la boite dialogue ne se fermait pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      chkBoiteSaisie.addActionListener(new ActionListener() 
         { 
              public void actionPerformed(ActionEvent e) 
              { 
            	  System.out.print("chkBoiteSaisie");
            	  Ecran14.boiteSaisie dial;
            	//  boiteSaisie dial;
       	          dial = new boiteSaisie();
              } 
         });
    Voilà merci pour ton aide

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

Discussions similaires

  1. [VB6]Fermer une application avec VB
    Par Mylou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/04/2003, 21h32
  2. [FORM] supprimer l'icone fermer
    Par Evil onE dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/02/2003, 16h25
  3. Fermer l'animation (swf/exe lancé depuis Windows)
    Par ZiZouJH dans le forum Flash
    Réponses: 3
    Dernier message: 14/01/2003, 10h00
  4. [MDI] comment fermer la bonne fenêtre enfant ?
    Par KThrax dans le forum Langage
    Réponses: 5
    Dernier message: 01/09/2002, 09h42
  5. Fermer une application à l'aide de OnIdle
    Par Thierry Rapp dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/08/2002, 12h44

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