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 :

JAVA mot de passe


Sujet :

AWT/Swing Java

  1. #1
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut JAVA mot de passe
    Bonjour mes amis
    je voudrais réaliser une petite application qui permet à un utilisateur de s'identifier avec son login et son mot de passe.
    Je voulais savoir quelle méthode me conseillez vous ?
    Merci

  2. #2
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Une JDialog avec un JTextField pour le login et un JPasswordField pour le mot de passe.

  3. #3
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    merci pour cette information mais jen'ai pas trouvé un exemple avec

    Une JDialog avec un JTextField pour le login et un JPasswordField pour le mot de passe.


  4. #4
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    voila l'interface mais il me manque des procedure

    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
     
     
     
    package aa;
    import java.text.*;
    import java.util.Date;
    import java.text.DateFormat;
    import java.sql.*;
    import java.util.*;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import javax.swing.*;
    import java.awt.*;
    import java.io.*;
    import java.lang.*;
     
    public class SimpleFenetre extends JFrame implements ActionListener {
     
      private JPanel container = null; //Déclaration de l’objet JPanel
      private FlowLayout layout = null; //Déclaration de notre layout
      private JLabel labelResultat = null; //Déclaration de l'objet JLabel
      private JLabel labelResultat2 = null;
     
      private JButton bouton = null;
     
      public SimpleFenetre() {
        super();
     
        build(); //On initialise notre fenêtre
      }
     
      private void build() {
        this.setContentPane(getContainer());
        this.setTitle("Ma première application"); //On donne un titre à l’application
        this.setSize(820, 440); //On donne une taille à notre fenêtre
        this.setLocationRelativeTo(null); //On centre la fenêtre sur l’écran
        this.setResizable(false); //On interdit la redimensionnement de la fenêtre
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l’application de se fermer lors du clic sur la croix
     
      }
     
      private JPanel getContainer() {
        layout = new FlowLayout(); //Instanciation du layout
        layout.setAlignment(FlowLayout.CENTER); //On centre les composants
     
        container = new JPanel(); //On crée notre objet
        container.setLayout(layout); //On applique le layout
     
     
        labelResultat2 = new JLabel("inserer votre mot de passe" );
       labelResultat2.setPreferredSize(new Dimension(100, 25));
       Color couleur = Color.red;
       labelResultat2.setForeground(couleur);
       container.add(labelResultat2);
     
     
        JPasswordField txt = new JPasswordField ();
        txt.setEchoChar ('*');
         txt.setPreferredSize(new Dimension(100,25));
         container.add(txt);
     
    bouton = new JButton("entrer ");
     bouton.setPreferredSize(new Dimension(125,25));
     bouton.addActionListener(this) ;
     container.add(bouton);
     
     
     
        return container;
      }
     
      public static void main(String[] args) {
     
        SimpleFenetre gui = new SimpleFenetre(); //On crée une nouvelle instance de notre fenêtre
        gui.setVisible(true);
      }
     
      public void actionPerformed(ActionEvent e) {
     
      }
    }
    mais si une personne tape son mot de passe et clic sur entrer il dois aller sur une fenetre une autre JFrame mais je n'ai aucune idée sur cette procedure


  5. #5
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Pour la touche entree, ta classe doit implémenter keyListener. Ajoute un keyListener au JPasswordField.
    Cela t'obligera de déclarer 3 nouvelles méthodes, dont keyReleased(KeyEvent e), c'est celle la qui nous intéresse. La dedans, tu devras rajouter qqch du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(e.getSource()==this.monPassordField){
       if(e.getKeyCode()==KeyEvent.VK_ENTER){
           // La tu rajoute le code qui doit être exécuté après l'appuis sur entrée
       }
    }

  6. #6
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    merci mais je coince encore est ce que il y a un simple exemple pour mieux comprendre comment je dois gerer les informations composant JPasswordField

  7. #7
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    En un seul mot: Javadoc

    Vas falloir t'y faire, le moyen le plus rapide d'obtenir des réponses est de chercher dedans. Par exemple pour le JPasswordField tu as un lien vers le tuto how to use textfields qui explique comment se servir des champs texte, dont le JPasswordField
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  8. #8
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    merci, mon problème je n'arrive pas a chercher et trouver des bonnes informations dans javadoc je ne comprends pas bien cette doc ,elle n'est pas claire trés compliqué

  9. #9
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Je veux pas te démoraliser mais la javadoc est une (à mon gout) des docs les mieux faite de tous les langages informatique.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  10. #10
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Un conseil, si tu ne comprends pas la javadoc, arrête temporairement l'apprentissage du langage au profit de la javadoc, car comme cité plus haut, tu ne pourras RIEN faire et comprendre sans elle.
    Contrairement à ce que tu dis, elle n'est pas très compliquée à manipuler, qq heures voir moins à se familiariser avec, et ça roule. Par contre, je ne suis absolument pas daccord avec toi quant à sa clareté. Si les anciens langages ( ex C/C++ ) avaient eu ce genre de doc ( c'est pas trop faisable je l'avoue ), cela m'aurait bien simplifié la vie par le passé.
    Pour t'aiguiller:
    JPassWordField appartient au package swing, donc dans la frame en haut à gauche, descend et clicke sur le packages javax.swing.
    Ta classe se nomme JPasswordFiled donc clicke dans la frame en bas à droite sur la classe de ce même nom, tu auras à droite la doc complète de cette classe.

    EDIT Grilled

  11. #11
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    merci encore je m'avance j'ai utilisé getText() pour tester la valeur en entrée puisque la valeur est juste si je tape sur entré j'irais sur une autre fenetre (JFrame) ?
    comment déplacer a nouvelle fenetre si je tape sur le bouton JButton entré ?

  12. #12
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    j'ai un message d'erreur j'ai essayé d'utiliser getText()

    voila le 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
     
    package aa;
    import java.text.*;
    import java.util.Date;
    import java.text.DateFormat;
    import java.sql.*;
    import java.util.*;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import javax.swing.*;
    import java.awt.*;
    import java.io.*;
    import java.lang.*;
     
    public class SimpleFenetre extends JFrame implements ActionListener {
     
      private JPanel container = null; //Déclaration de l’objet JPanel
      private FlowLayout layout = null; //Déclaration de notre layout
      private JLabel labelResultat = null; //Déclaration de l'objet JLabel
      private JLabel labelResultat2 = null;
     
      private JButton bouton = null;
     
      public SimpleFenetre() {
        super();
     
        build(); //On initialise notre fenêtre
      }
     
      private void build() {
        this.setContentPane(getContainer());
        this.setTitle("Ma première application"); //On donne un titre à l’application
        this.setSize(820, 440); //On donne une taille à notre fenêtre
        this.setLocationRelativeTo(null); //On centre la fenêtre sur l’écran
        this.setResizable(false); //On interdit la redimensionnement de la fenêtre
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l’application de se fermer lors du clic sur la croix
     
      }
     
      private JPanel getContainer() {
        layout = new FlowLayout(); //Instanciation du layout
        layout.setAlignment(FlowLayout.CENTER); //On centre les composants
     
        container = new JPanel(); //On crée notre objet
        container.setLayout(layout); //On applique le layout
     
        labelResultat2 = new JLabel("inserer votre mot de passe");
        labelResultat2.setPreferredSize(new Dimension(100, 25));
        Color couleur = Color.red;
        labelResultat2.setForeground(couleur);
        container.add(labelResultat2);
     
        JPasswordField txt = new JPasswordField(5);
        txt.setEchoChar('*');
        txt.setPreferredSize(new Dimension(100, 25));
        container.add(txt);
     
        bouton = new JButton("entrer ");
        bouton.setPreferredSize(new Dimension(125, 25));
        bouton.addActionListener(this);
        container.add(bouton);
     
        return container;
      }
     
      public static void main(String[] args) {
     
        SimpleFenetre gui = new SimpleFenetre(); //On crée une nouvelle instance de notre fenêtre
        gui.setVisible(true);
      }
     
      public void actionPerformed(ActionEvent e) {
        if (e.getSource() == bouton) {
     
          if (txt.getText().lenght()<1){
            JOptionPane.showMessageDialog(this, "Nom est vides !",
                                          "Avertissement, ajout impossible",
                                          JOptionPane.WARNING_MESSAGE);
     
          }
     
      }
    }
     
    }
    le message d'erreur :"SimpleFenetre.java": cannot resolve symbol: variable txt in class aa.SimpleFenetre at line 79, column 11

    sur if (txt.getText().lenght()<1)

  13. #13
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    1. POur les JPasswordField tu ne dois aps utiliser getText mais getPassword: http://java.sun.com/docs/books/tutor...wordfield.html
    2. ça t'as déja été dit, mais avant d'essayer de te compliquer la vie avec Swing, tu devrais commencer par apprendre à bien coder en java, ce qui est loin d'être le cas pour le moment, tu n'as pas les notions nécessaire en ce qui concerne le scope de tes variables: en l'occurence ton JPasswordField (txt) es une variable créé dans une méthode, donc ton field n'est accessible que dans le corps de la méthode où i la été créé.

    Grosso merdo quand tu développes il ne faut pas vouloir tout et tout de suite. Il vaut mieux si l'on en a la possibilité, commencer par apprendre la base du langage et son fonctionnement AVANT de vouloir faire joujou avec des notions un tant soit peu plus complexes.

    Cordialement.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  14. #14
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Points : 121
    Points
    121
    Par défaut
    Normal, ton JtextField est local a ta méthode getContainer()

    Il faut que tu le mette avec tes attributs de la classe !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class SimpleFenetre extends JFrame implements ActionListener {
     
      private JPanel container = null; //Déclaration de l’objet JPanel
      private FlowLayout layout = null; //Déclaration de notre layout
      private JLabel labelResultat = null; //Déclaration de l'objet JLabel
      private JLabel labelResultat2 = null;
     
      private JButton bouton = null;
      JPasswordField txt ;
    Ainsi l'actionListener peut le voir !!!


    édit : Arr pas assez rapide !!!
    edit : nettoye aussi ton bas de fichier !!!


    Ta ligne 56 devient "txt = new JPasswordField(5);"

    Ensuite la méthode getText() est déprécated (plus utilisé). Si tu utilise eclipse, il te le dis direct (il te barre les mots).
    En fait il te faut utiliser getPassword. Cette méthode te retourne un tableau de caractère, donc tu transforme en string.

    Et enfin la 75 devient txt.getPassword().toString()
    voila

  15. #15
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Points : 121
    Points
    121
    Par défaut
    voici un code modifié !!!

    Attention il utilise encore un getText a la place d'un getPassword car celle ci retourne un truc bizarre.

    Déprécated veux dire déconseillé d'utilisé car une autre méthode la remplace. Mais pour des soucis de fonctionnement d'ancien code, les vieilles méthodes doivent quant même fonctionner.


    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
     
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
     
    public class SimpleFenetre extends JFrame implements ActionListener {
     
    	private JPanel container = null; //Déclaration de l’objet JPanel
    	private FlowLayout layout = null; //Déclaration de notre layout
    	private JLabel labelResultat = null; //Déclaration de l'objet JLabel
    	private JLabel labelResultat2 = null;
     
    	private JButton bouton = null;
    	JPasswordField txt ;
     
    	public SimpleFenetre() {
    		super();
    		build();
    	}
     
    	private void build() {
    		this.setContentPane(getContainer());
    		this.setTitle("Ma première application"); //On donne un titre à l’application
    		this.setSize(820, 440); //On donne une taille à notre fenêtre
    		this.setLocationRelativeTo(null); //On centre la fenêtre sur l’écran
    		this.setResizable(false); //On interdit la redimensionnement de la fenêtre
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l’application de se fermer lors du clic sur la croix
    	}
     
    	private JPanel getContainer() {
    		  layout = new FlowLayout(); //Instanciation du layout
    		  layout.setAlignment(FlowLayout.CENTER); //On centre les composants
     
    		  container = new JPanel(); //On crée notre objet
    		  container.setLayout(layout); //On applique le layout
     
    		  labelResultat2 = new JLabel("inserer votre mot de passe");
    		  labelResultat2.setPreferredSize(new Dimension(200, 25));
    		  Color couleur = Color.red;
    		  labelResultat2.setForeground(couleur);
    		  container.add(labelResultat2);
     
    		  txt = new JPasswordField();
    		  txt.setEchoChar('*');
    		  txt.setPreferredSize(new Dimension(200, 25));
    		  container.add(txt);
     
    		  bouton = new JButton("entrer ");
    		  bouton.setPreferredSize(new Dimension(125, 25));
    		  bouton.addActionListener(this);
    		  container.add(bouton);
     
    		  return container;
    	}
     
    	public void accesRefuse(){
    		// Traitement en cas d'acces refusé
    		JOptionPane.showMessageDialog(this, "Nom est vides !",
    											"Avertissement, ajout impossible",
    											JOptionPane.WARNING_MESSAGE);
    	}
     
    	public void accesAutorise(){
    		// Traitement en cas d'acces autorisé
    		JOptionPane.showMessageDialog(this, "Félicitation et bienvenue",
    											"Acces autorisé",
    											JOptionPane.PLAIN_MESSAGE);
    	}
     
    	public static void main(String[] args) {
    		SimpleFenetre gui = new SimpleFenetre(); //On crée une nouvelle instance de notre fenêtre
    		gui.setVisible(true);
    	}
     
    	public void actionPerformed(ActionEvent e) {
    		System.out.println("action : " + txt.getText());
    		// if (e.getSource() == bouton) // Test ici inutile car tu n'as que 1 bouton
    		{
    			if (txt.getText().length()<1) accesRefuse();
    			if (txt.getText().compareTo("test")==0) accesAutorise();
    		}
    	}
    }

    Je t'encourage encore une fois a utiliser eclipse si ce n'est pas le cas (ou un autre IDE bien sur !!!). L'IDE t'aidera dans ta recherche de méthode. Lorsque tu fais "." il va toute te les proposer. Et si tu perd la fenetre, tu fais ctrl+espace et ca te montre les possibilité (normalement).
    Ctrl+shift+o et il te ferra les import necessaire.

    Il tereste normalement plus que les composant des base a connaitre et a t'amuser avec eux a faire des trucs !!!

    Attention il est primordial d'avoir une base de java car si tu ne comprend pas les erreurs qu'il t'explique ... la entre autre il te disait que le composant n'était pas déclaré ... car pas accessible ... pourquoi ? -> car local. Donc necessité de le mettre en membre de la classe.



    Une astuce si tu veux pas te trompé dans les accessibilité de tes variable (et si tu connait la différence bien sur) :
    lorsqu'une variable est membre de ta classe tu met m_... (pour membre)
    lorsqu'une variable est déclaré a l'intérieur d'une méthode tu met l_... (pour local)
    lorsqu'une variable est issu d'un paramêtre tu met p_... (pour paramêtre)
    lorsqu'une variable est statique tu met s_... (pour statique)

    Ainsi dans ton cas, si tu vois qu'une variable l_txt a une erreur dans une méthode, et si elle n'est pas déclaré dans celle ci, ben c'est qu'il y a une erreur !!!

  16. #16
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Euh j'aurais deux trois petits bémols à apporter

    Un IDE c'est bien, mais faut il un tant soit peu maîtriser les fondamentaux du langage avant d'en utiliser (sinon tu passes au dessus de notions un tant soit peu fondamentales, le classpath en particulier)

    En ce qui concerne les conventions de nommages, autant respecter celles de sun, c'est le plus simple et le plus facile à relire par la plupart des devs java. http://java.sun.com/docs/codeconv/ht...nvTOC.doc.html
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  17. #17
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    merci encore ami pour cette information
    j'ai bien suivi http://java.sun.com/docs/books/tutor...wordfield.html

    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
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
     
     
    package aa;
    import java.text.*;
    import java.util.Date;
    import java.text.DateFormat;
    import java.sql.*;
    import java.util.*;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import javax.swing.*;
    import java.awt.*;
    import java.io.*;
    import java.lang.*;
     
    public class SimpleFenetre extends JFrame implements ActionListener {
     
      private JPanel container = null; //Déclaration de l’objet JPanel
      private FlowLayout layout = null; //Déclaration de notre layout
      private JLabel labelResultat = null; //Déclaration de l'objet JLabel
      private JLabel labelResultat2 = null;
     JPasswordField txt =null;
      private JButton bouton = null;
     
      public SimpleFenetre() {
        super();
     
        build(); //On initialise notre fenêtre
      }
     
      private void build() {
        this.setContentPane(getContainer());
        this.setTitle("Ma première application"); //On donne un titre à l’application
        this.setSize(820, 640); //On donne une taille à notre fenêtre
        this.setLocationRelativeTo(null); //On centre la fenêtre sur l’écran
        this.setResizable(false); //On interdit la redimensionnement de la fenêtre
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l’application de se fermer lors du clic sur la croix
     
      }
     
      private JPanel getContainer() {
        layout = new FlowLayout(); //Instanciation du layout
        layout.setAlignment(FlowLayout.CENTER); //On centre les composants
     
        container = new JPanel(); //On crée notre objet
        container.setLayout(layout); //On applique le layout
     
        labelResultat2 = new JLabel("inserer votre mot de passe");
        labelResultat2.setPreferredSize(new Dimension(100, 25));
        Color couleur = Color.red;
        labelResultat2.setForeground(couleur);
        container.add(labelResultat2);
     
        JPasswordField txt = new JPasswordField(5);
        txt.setEchoChar('*');
        txt.setPreferredSize(new Dimension(100, 25));
        container.add(txt);
     
     
     
        bouton = new JButton("entrer ");
        bouton.setPreferredSize(new Dimension(125, 25));
        bouton.addActionListener(this);
        container.add(bouton);
     
        return container;
      }
     
      public static void main(String[] args) {
     
        SimpleFenetre gui = new SimpleFenetre(); //On crée une nouvelle instance de notre fenêtre
        gui.setVisible(true);
      }
     
      public void actionPerformed(ActionEvent e) {
     
        if (e.getActionCommand().equals(bouton) ) {
     
          char[] input =txt.getPassword();
             if (isPasswordCorrect(input)){
     
              JOptionPane.showMessageDialog(this,
                  "success");
          }else{
            JOptionPane.showMessageDialog(this,
                  "Invalid password. Try again.",
                  "Error Message",
                  JOptionPane.ERROR_MESSAGE);
     
          }
     
           }
     
     
     
      }
     
     
    private static boolean isPasswordCorrect(char[] input) {
        boolean isCorrect = true;
        char[] correctPassword = { 'a', 'l', 'l', 'o'};
     
        if (input.length != correctPassword.length) {
            isCorrect = false;
        } else {
            for (int i = 0; i < input.length; i++) {
                if (input[i] != correctPassword[i]) {
                    isCorrect = false;
                }
            }
        }
     
        //Zero out the password.
        for (int i = 0; i < correctPassword.length; i++) {
            correctPassword[i] = 0;
        }
     
        return isCorrect;
    }
     
     
    }
    mais si je tape sur entrer la boite de dialogue n'apparait pas

  18. #18
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (e.getActionCommand().equals(bouton) )
    getActionCommand

    public String getActionCommand()

    Returns the command string associated with this action.
    http://java.sun.com/javase/6/docs/ap...ctionCommand()

    Autrement dit, getActionCommand renvoie le texte de ton JButton, pas le JButton... Donc le equals renvoie tout le temps faux...

    Remplace par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (e.getActionCommand().equals("entrer ") )
    ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (e.getSource().equals(bouton))


  19. #19
    Provisoirement toléré
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Points : 125
    Points
    125
    Par défaut
    désolé j'ai déja essayé if (e.getActionCommand().equals("entrer ") ) mais ça n'a pas marché

  20. #20
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    et le deuxième bout de code tu n'as pas envie de l'essayer ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. introduire le mot de passe root dans un code JAVA
    Par L'aigle de Carthage dans le forum Linux
    Réponses: 9
    Dernier message: 06/05/2011, 12h32
  2. Réponses: 2
    Dernier message: 06/11/2008, 20h44
  3. Réponses: 1
    Dernier message: 30/07/2008, 23h44
  4. [ORACLE] Gestion mot de passe sous java
    Par jbmen dans le forum JDBC
    Réponses: 7
    Dernier message: 09/07/2008, 22h50
  5. Appli Java et mot de passe "en clair"
    Par baffer dans le forum JDBC
    Réponses: 1
    Dernier message: 18/02/2007, 19h06

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