Probléme avec un Getter dans une JFrame

Résolu/Fermé
Martin.Bernard Messages postés 4 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 12 août 2014 - Modifié par Martin.Bernard le 17/07/2014 à 14:13
Martin.Bernard Messages postés 4 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 12 août 2014 - 18 juil. 2014 à 09:29
Bonjour,
J'ai besoin de votre aide mes chers programmeur Java.
J'ai une application qui liée avec une BDD
J'ai des classes qui hérite de la classe JFrame : Authentification, Acceuil_User, Acceuil_SuperUser et Acueil_Admin.
Dans la classe Autentification je récupère mes valeurs : User, Password et Droit( SuperUser, User, Admin) et je fais le teste avec les champs de la table Utilisateur.
Je veux dans la classe Acceuil_Admin par exemple afficher un JLabel qui renseigne les informations suivantes" Vous êtes (Login), vous êtes connecté en tant que (Droit) "

Je ai déclaré les variables login et droit en tant que private et j'ai mis les Getters et Setters nécessaires dans la classe Authentification. Dans la classe Acceuil_Admin je déclare une instance de la classe Authentification et j'applique la méthode classique pour un Getter.
Le problème c'est pour récupérer les deux valeurs User et Droit depuis la classe Authentification.
Dans la classe Authentification je fais mon test avec la table Utilisateur de la base données et j'ai déjà vérifier que les variables login et droit contient vraiment les valeurs avec lequel l'utilisateur se connecte le problème c'est quand je veux accéder à la classe Authentification depuis la classe Acueil_Admin. exactement ce bout de code a.getLogin() et a.getDroit().
Ca bloque au niveau de ces deux instructions normalement tout est bon mais je sais pas est ce que c'est parce que c'est une JFrame il y'a une différence où un problème de visibilité d'une classe ou d'un champ, bref je suis perdus ....
ça me retourne cette erreur :

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

voici le code des deux classes :

public class Authentification extends javax.swing.JFrame {
private String login,droit;
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getDroit() {
return droit;
}

public void setDroit(String droit) {
this.droit = droit;
}
....
}

La classe Acceuil_Administrateur
public class Acceuil_Administrateur extends javax.swing.JFrame
{
Authentification a;
public Acceuil_Administrateur()
{
initComponents();
String info="Vous etes " +a.getLogin() +", vous etes connectez en tant que "+ a.getDroit()+" ";
jLabel1.setText(info);
}
....
}

Merci par avance.

2 réponses

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
17 juil. 2014 à 19:40
Bonjour,

java.lang.NullPointerException sur a.getLogin() signifie que a==null

Rien d'étonnant à cela vu que Authentification a, n'est pas initialisé...

Je pense que tu devrais plutôt mettre a en paramètre du constructeur :

public class AcceuilAdministrateur extends JFrame 
{
    public AcceuilAdministrateur(Authentification a) 
    {
        initComponents(); 
        String info="Vous êtes " +a.getLogin() +", vous êtes connecté en tant que "+ a.getDroit()+" ";
        jLabel1.setText(info);
    }

    // ...
}

Attention : il faut aussi initialiser jLabel1...
0
Martin.Bernard Messages postés 4 Date d'inscription mercredi 9 avril 2014 Statut Membre Dernière intervention 12 août 2014
Modifié par Martin.Bernard le 18/07/2014 à 09:29
Oui effectivement j'avais loupé ça, Une fois j'ai passé Authentifcation en paramétre le probléme est résolue
Merci beaucoup KX :)
0