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

avec Java Discussion :

qu'est ce qui ne va pas avec cette procédure ?


Sujet :

avec Java

  1. #1
    Membre confirmé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Points : 475
    Points
    475
    Par défaut qu'est ce qui ne va pas avec cette procédure ?
    bonjour qu'est ce qui ne va pas avec cette procédure ?

    la condition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (jContentPaneEmp.getComponent(i).getClass().getName().toUpperCase().equals("JTextField"))
    Dans la procédure testObligatoire n'est jamais valide

    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
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Rectangle;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
     
    public class Test {
     
     
    	private JFrame jFrameEmp;
    	private JPanel jContentPaneEmp;
    	private JPanel jPanelEmp;
    	private JTextField jTextFieldMail1 = new  JTextField();  //  @jve:decl-index=0:visual-constraint="10,410"
    	private JTextField jTextFieldMail2 = new  JTextField();
    	private JTextField [] editObligatoire = {jTextFieldMail1,jTextFieldMail2} ;
    	private JButton jButtonFermer;
     
    	public Test(){
    		getJFrameEmp();	
    	}
     
    	private JFrame getJFrameEmp() {
     
    		if (jFrameEmp == null) {
    			jTextFieldMail1.setColumns(1);
    			jTextFieldMail1.setSize(new Dimension(282, 20));
    			jTextFieldMail1.setSize(new Dimension(244, 20));
    			jFrameEmp = new JFrame();
    			jFrameEmp.setSize(new Dimension(586, 390));
    			jFrameEmp.setTitle("Gestion Employe");
    			jFrameEmp.setLocationRelativeTo(null);
    			jFrameEmp.setContentPane(getJContentPaneEmp());
    			jFrameEmp.setVisible(true);
     
     
    		}
    		return jFrameEmp;
    	}
    	public void testObligatoire(JTextField [] editObligatoire  ){
    		for (int i=0;i < jContentPaneEmp.getComponentCount();i++) {
    	if (jContentPaneEmp.getComponent(i).getClass().getName().toUpperCase().equals("JTextField")){
    			jContentPaneEmp.getComponent(i).setBackground(Color.red);
    			System.out.println((jContentPaneEmp.getComponent(i).getClass().getName()));
    			System.out.println(jContentPaneEmp.getComponentCount());	
    		}
     
     
    		 //				== 
    //			editObligatoire[i].setBackground(Color.red);
    //			
    		}
     
    	}
     
     
    	private JPanel getJContentPaneEmp() {
    		if (jContentPaneEmp == null) {
    			jContentPaneEmp = new JPanel();
    			jContentPaneEmp.setLayout(null);
    			jContentPaneEmp.add(getJPanelEmp(), null);
    			editObligatoire[0].setBounds(new Rectangle(140, 85, 121, 20));
    			editObligatoire[1].setBounds(new Rectangle(140, 105, 121, 20));
    			jContentPaneEmp.add(editObligatoire[0], /*editObligatoire[0]*/ null);
    			jContentPaneEmp.add(editObligatoire[1],null);
     
    			//jContentPaneEmp.add(jTextFieldMail1 /*editObligatoire[0]*/, null);
     
    			jContentPaneEmp.add(getJButtonFermer(),null);
    		}
    		return jContentPaneEmp;
    	}
    	private JPanel getJPanelEmp() {
    		if (jPanelEmp == null) {
    			jPanelEmp = new JPanel();
    			jPanelEmp.setLayout(null);
    			jPanelEmp.setBounds(new Rectangle(0, 281, 577, 75));
     
         	//jPanelEmp.add(editObligatoire[2], null);
    //			jPanelEmp.add(getJButtonFermer(), null);
    		}
    		return jPanelEmp;
    	}
     
    	private JButton getJButtonFermer() {
    		if (jButtonFermer == null) {
    			jButtonFermer = new JButton();
    			jButtonFermer.setBounds(new Rectangle(385, 10, 128, 28));
    			jButtonFermer.setText("Fermer");
    			jButtonFermer.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {
    					testObligatoire(editObligatoire);
     
    				}
    			});
    		}
     
    		return jButtonFermer;
    	}	
    }

  2. #2
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    La fonction toUpperCase transforme une chaîne de la forme "Toto" en "TOTO". Donc si tu as une chaîne "JTextField" et que tu y applique la méthode toUpperCase, tu obtiendras "JTEXTFIELD", qui n'est pas égal à "JTextField".

    Soit tu dois enlever ce toUpperCase, soit tu dois templacer le equals par equalsIgnoreCase.

  3. #3
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    1. Je ne vois pas comment un texte mis en majuscule pourrait être égal à "JTextField" !
    2. getClass().getName() retourne le nom complet de la classe (donc je suppose que tu dois obtenir "javax.swing.JTextField").



    Sinon, il serait plus propre et plus simple d'utiliser instanceof :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (jContentPaneEmp.getComponent(i) instanceof JTextField) {

    a++

    [edit] A demi-grillé

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,
    Le problème vient de là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... getName().toUpperCase().equals("JTextField")
    toUpperCase veut dire que tu mets tout en majuscule dans le résultat de getName, et tu testes avec une valeur contenant des minuscules... ALors ca ne peut évidemment pas marcher...

    EDIT : doublement grillé...

  5. #5
    Membre confirmé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Points : 475
    Points
    475
    Par défaut
    je suis desolé je l'ai mis( toUpperCase()) pour essayer de regler le probleme,
    mais on a le meme resultat sans le (toUpperCase());

  6. #6
    Membre confirmé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Points : 475
    Points
    475
    Par défaut
    ok j'ai trouvé il fallait comparer à "javax.swing.JTextField"

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/04/2015, 00h38
  2. Réponses: 3
    Dernier message: 25/04/2012, 10h48
  3. [Newbie] Qu'est-ce qui ne va pas dans cette requête ?…
    Par Mister Paul dans le forum Langage SQL
    Réponses: 20
    Dernier message: 18/09/2007, 15h19
  4. qu'est ce qui ne va pas avec cette requête
    Par fk04 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/08/2006, 09h01
  5. sql-serveur : qu'est-ce qui ne va pas dans cette requête ?
    Par isachat666 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/06/2006, 15h52

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