Java

Résolu
Bonjour,
mon probleme et le suivant, pour verifier le mot de passe ecrit en jPasswordField
avec un mdp azert , une erreur pourquoi
void jButton1_actionPerformed(ActionEvent e) {
if(jPasswordField1.getPassword()=="azert"){

frame4 fenetre4=new frame4();
fenetre4.show();
}
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. C'est bien ce que je pensais... Ta méthode getPassword() te renvoi un tableau de char : char[]. En gros, il faut soit que ton mot de passe soit de type char[] soit (solution de facilité) tu mets un toString() à getPassword() :

    if( jPasswordField1.getPassword().toString() == "projet" )
    1. j'utilise le jbuilder7 j'ai une fenetre qui contient un mot de passe et 2 boutton
      package projet;

      import java.awt.*;
      import javax.swing.*;
      import java.awt.event.*;

      public class frame2 extends JFrame {
      private JLabel jLabel1 = new JLabel();
      private JButton jButton1 = new JButton();
      private JButton jButton2 = new JButton();
      private JPasswordField jPasswordField1 = new JPasswordField();

      public frame2() {
      setVisible(true);
      setSize(400,200);
      try {
      jbInit();
      }
      catch(Exception e) {
      e.printStackTrace();
      }
      }
      private void jbInit() throws Exception {
      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
      Dimension frameSize = getSize();
      if (frameSize.height > screenSize.height)
      {
      frameSize.height = screenSize.height;
      }

      if (frameSize.width > screenSize.width)
      {
      frameSize.width = screenSize.width;
      }

      setLocation((screenSize.width- frameSize.width) /3, (screenSize.height - frameSize.height)/3);

      jLabel1.setFont(new java.awt.Font("Dialog", 2, 20));
      jLabel1.setText("Entrez le mot de passe :");
      jLabel1.setBounds(new Rectangle(12, 16, 376, 27));
      this.getContentPane().setLayout(null);
      jButton1.setBounds(new Rectangle(84, 119, 104, 36));
      jButton1.setFont(new java.awt.Font("Dialog", 1, 12));
      jButton1.setText("Connexion");
      jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
      jButton1_actionPerformed(e);
      }
      });
      jButton2.setBounds(new Rectangle(209, 121, 104, 36));
      jButton2.setFont(new java.awt.Font("Dialog", 1, 12));
      jButton2.setText("Annuler");
      jButton2.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
      jButton2_actionPerformed(e);
      }
      });
      this.setTitle("accés ");
      jPasswordField1.setBounds(new Rectangle(78, 54, 222, 31));
      jPasswordField1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
      jPasswordField1_actionPerformed(e);
      }
      });
      this.getContentPane().add(jLabel1, null);
      this.getContentPane().add(jButton1, null);
      this.getContentPane().add(jButton2, null);
      this.getContentPane().add(jPasswordField1, null);
      }

      void jButton1_actionPerformed(ActionEvent e) {
      if(jPasswordField1.getPassword()=="projet"){

      frame4 fenetre4=new frame4();
      fenetre4.show();
      }
      else{
      JOptionPane.showMessageDialog(this, " Mot de passe erroné", "érreur", JOptionPane.WARNING_MESSAGE);
      }
      }

      void jButton2_actionPerformed(ActionEvent e) {
      System.exit(0);

      }

      void jPasswordField1_actionPerformed(ActionEvent e) {

      }
      }
      1. Fais nous voir ton code stp. et dis moi, quel environnement de développement utilises tu ?
        1. Faut déjà voir si ta fonction getPassword() te renvoi un String :p
          1. mon probleme et quand je clique sur un boutton il doit verifier si le mdp entrer dans le jPasswordField1 et egale a "azert" ,si egale il affiche une nouvelle frame .
            1. Tu ne pourrais pas préciser qu'elle est l'erreur ?

              En tout cas, il me semble que la fonction "actionPerformed" vient d'une interface et qu'on ne doit pas changer le nom de cette fonction en "jButton1_actionPerformed". Sinon l'interface ne sait pas où se trouve le corps de la fonction.