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

Langage Java Discussion :

if else if anormal


Sujet :

Langage Java

Vue hybride

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par défaut if else if anormal
    Je ne comprends pas quelque chose. Voici une image du code
    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
    
    if( condition1 )
    {
         instructions1
    }
    
    else if(  condition2 )
    {
        instructions2
    }
    
    else if ( condition3 )
    {
      instructions3   
    }
    Lorsque la condition1 est remplie, les blocs d'instructions

    instructions1 et instructions2 et instructions3 sont exécutés.


    Lorsque la condition2 est remplie, les blocs d'instructions

    instructions2 et instructions3 sont exécutés.


    Lorsque la condition3 est remplie, seul le bloc d'instructions

    instructions3 est exécuté.

    Je sais que le véritable code n'y est pas. Mais savez-vous s'il existe un problème d'ordre général qui conduit à la situation ci-dessus ?

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Nayila Voir le message
    Mais savez-vous s'il existe un problème d'ordre général qui conduit à la situation ci-dessus ?
    Non.


    a++

  3. #3
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Citation Envoyé par Nayila Voir le message
    Je sais que le véritable code n'y est pas.
    A tous les coups l'erreur vient de ton code. Tu pourrais le partager STP ? (Au pire change le nom des variables !)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par défaut
    Voici le vrai code :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
       import javax.swing.*;
       import java.awt.*;
       import java.awt.event.*;
       import javax.swing.event.*;
     
        class UneFenetre extends JFrame implements FocusListener
        {
             private JTextField saisie1, saisie2, saisie3, saisie4, saisie5;
             private JLabel etiket1, etiket2, etiket3, etiket4, etiket5;
     
             public UneFenetre(String titre)
             {
                  setTitle(titre); setSize(300, 300);
                  Container c = getContentPane();
                  c.setLayout(new FlowLayout() );
                  setLocationRelativeTo(this.getParent());
     
                  etiket1 = new JLabel("Votre nom : ");
                  c.add(etiket1);
     
                  saisie1 = new JTextField(20);
                  c.add(saisie1);
                  saisie1.addFocusListener(this);
     
                  etiket2 = new JLabel("Votre prenom : ");
                  c.add(etiket2);
     
                  saisie2 = new JTextField(20);
                  c.add(saisie2);
                  saisie2.addFocusListener(this);
     
                  etiket3 = new JLabel("Votre email : ");
                  c.add(etiket3);
     
                  saisie3 = new JTextField(20);
                  c.add(saisie3);
                  saisie3.addFocusListener(this);
     
                  etiket4 = new JLabel("Votre tel Fixe : ");
                  c.add(etiket4);
     
                  saisie4 = new JTextField(20);
                  c.add(saisie4);
                  saisie4.addFocusListener(this);
     
                  etiket5 = new JLabel("Votre tel Portable : ");
                  c.add(etiket5);
     
                  saisie5 = new JTextField(20);
                  c.add(saisie5);
                  saisie5.addFocusListener(this);
     
                  setDefaultCloseOperation(3);
             }
     
     
             public void focusLost(FocusEvent f)
             {
                Object source = f.getSource();
     
    				if(source == saisie1)       
    				{
                       String nom = saisie1.getText();
                       nom = nom.toUpperCase();
    				   saisie1.setText(nom);
                       JOptionPane.showMessageDialog(this, "Le nom est maintenant en majuscules");
    				}
     
    			else if(source == saisie2)      
                {
                    String ch1 = "Un seul prenom", ch2 = "Avertissement";
                    JOptionPane.showMessageDialog(this, ch1, ch2, 2);
                }
     
    			else if(source == saisie3)      
    				{
    					String email = saisie3.getText();
    					if(email.indexOf('@') < 0)
    					JOptionPane.showMessageDialog(this, "email incoreecte", "Erreur", 0);
    				}
            }
    		public void focusGained(FocusEvent f) {}
    	}
     
    	public class Testeur
    	{
    		public static void main(String [] args)
    		{
    			JFrame f = new UneFenetre("boite de message");
    			f.setVisible(true);
    		}
     
    	}

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Tiens avec du code c'est mieux !


    Lorsque le focus est perdu sur un composant cela signifie qu'un autre composant l'a reçu, mais comme tu ouvres une boite de dialogue il le reperd aussitôt et cela te génère un nouvel évènement.

    Conseil : Lorsque tu travailles avec des évènements n'hésite pas à mettre des traces pour voir ce qui se passe en réalité. Dans ton cas le code suivant au début de la méthode focusLost() t'aurait surement guidé à la solution :
    Lors de l'ouverture de la boite de dialogue le nouveau composant perd également le focus, mais de manière temporaire (il lui sera rendu lorsque la boite de dialogue sera fermée).
    Il te suffit donc de vérifier que la perte du focus ne soit pas temporaire avant de faire tes traitements...


    a++

Discussions similaires

  1. If Then Else
    Par Piout dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 24/02/2005, 16h09
  2. IF THEN ELSE imbriqués
    Par nuke_y dans le forum Oracle
    Réponses: 2
    Dernier message: 15/11/2004, 14h57
  3. [LG]Problème avec if/else.
    Par Loceka dans le forum Langage
    Réponses: 7
    Dernier message: 02/11/2004, 10h10
  4. [CR 7] [débutante] pb avec if then else
    Par xs_nady dans le forum Formules
    Réponses: 8
    Dernier message: 28/05/2004, 15h36
  5. [PostgreSQL] Fonct. anormal de postmaster sous Cygwin
    Par moipastoi dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 14/03/2003, 13h13

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