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

 Java Discussion :

NullPointerException dans MouseAdapter


Sujet :

Java

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 126
    Points : 55
    Points
    55
    Par défaut NullPointerException dans MouseAdapter
    Bonjour,

    Je viens vers vous car je débute en JAVA et je ne comprends pas pourquoi je n'arrive pas à modifier le contenu d'un JLabel avec un clic sur un bouton.

    Voici mon 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
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    package projet.interfaceGraphique;
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.GridLayout;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    import projet.dm2Class.*;
     
    public class Ecran extends JPanel {
     
    	private JPanel pan1;
    	private JPanel pan2;
    	private JPanel panForm;
    	public JPanel panInfo;
    	public JButton bouton;
    	public JTextArea info;
    	private JLabel lab1;
    	private JLabel lab2;
    	private JTextField borne;
    	private JTextField tps;
    	public JButton insertion;
    	private boolean retirerCarte = false;
    	private TypeRecharge rechargeRapide = new TypeRecharge("R");
    	private Carte carte25€ = new Carte("Po", "Lem", 25, rechargeRapide);
     
     
    	public Ecran() {
     
    		this.setLayout(new BorderLayout());
     
    		JPanel panForm = new JPanel();
    		JLabel lab1 = new JLabel("Veuillez choisir votre borne :");
    		JTextField borne = new JTextField("                 ");
    		JPanel pan1 = new JPanel();
    		pan1.setLayout(new BorderLayout());
    		pan1.add(lab1, BorderLayout.WEST);
    		pan1.add(borne, BorderLayout.EAST);
    		pan1.setBackground(Color.ORANGE);   //Définition de sa couleur de fond     
    		JLabel lab2 = new JLabel("Choisissez un temps de rechargement en secondes :");
    		JTextField tps = new JTextField("                         ");
    		JPanel pan2 = new JPanel();
    		pan2.setLayout(new BorderLayout());
    		pan2.add(lab2, BorderLayout.WEST);
    		pan2.add(tps, BorderLayout.EAST);
    		pan2.setBackground(Color.ORANGE);   //Définition de sa couleur de fond     
     
    		//Ajout de l'adaptateur au bouton :
    		MouseAdapter adaptateurCarte = new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent e) {
     
    				insererCarte();
    			}
    		};
     
    		JPanel panInfo = new JPanel();
    		JButton insertion = new JButton("Insérez votre carte");
    		JTextArea info = new JTextArea();
    		insertion.addMouseListener(adaptateurCarte);
    		panInfo.setLayout(new BorderLayout());
    		panInfo.add(insertion, BorderLayout.NORTH);
    		panInfo.add(info, BorderLayout.SOUTH);
    		info.setBackground(Color.CYAN);
     
    		this.add(panInfo, BorderLayout.NORTH);
    		panForm.setLayout(new BorderLayout());
    		panForm.add(pan1, BorderLayout.NORTH);
    		panForm.add(pan2, BorderLayout.SOUTH);
    		this.add(panForm, BorderLayout.CENTER);
     
     
    		//Ajout de l'adaptateur au bouton :
    		MouseAdapter adaptateur1 = new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent e) {
     
    				click();
    			}
    		};
     
     
    		bouton = new JButton("Rechargement");
    		bouton.addMouseListener(adaptateur1);
     
    		this.add(bouton, BorderLayout.SOUTH);
     
     
    	}
     
    	public void insererCarte() {
    			String message = "Bonjour " + carte25€.getPrenom() + " " + carte25€.getNom() + "\n";
    			message += "Votre solde est de " + carte25€.getSoldeForfait() + " en charge rapide, soit " + carte25€.getPrixParMinDeCharge() + " par minutes de charge";
    			message += "\nSuivez les instructions à l'écran pour recharger votre véhicule :";
     
    			info.setText(message);	
    	}
     
     
     
    	public void click() {
     
    	}
     
     
    }
    Je suis désolé c'est un peu brouillon, j'ai fait ça dans l'urgence.

    J'ai une erreur sur ma fonction insererCarte():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

    Pouvez vous m'aider ?

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    L'exception NullPointerException veut dire que tu essayes d'invoquer une méthode ou à accéder à un attribut sur une référence null. Et la stacktrace de l'exception t'indique clairement le numéro de la ligne où le problème se pose, donc elle doit t'indiquer que c'est cette ligne :

    C'est normal, parce que info ici, c'est l'attribut info (la variable de classe si tu préfères), et nulle part tu lui affectes une référence d'instance de classe.

    Dans le constructeur de Ecran, tu fais bien ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JTextArea info = new JTextArea();
    mais ça, ça déclare une variable locale au constructeur, qui n'est pas la variable membre, juste une autre variable qui a le même nom et qui cache la variable membre info.

    Pour affecter la variable info, il te suffit de faire une affectation, sans déclarer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    info = new JTextArea();
    Ainsi, tu affectes bien la variable membre info et c'est bien celle-là qui sera utilisée dans la méthode insererCarte.

    Tu as d'ailleurs toutes tes variables membres qui sont dans le même cas (déclarées en variables membres et locales), sauf bouton.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 126
    Points : 55
    Points
    55
    Par défaut
    Cool ! Merci beaucoup, tu m'as bien aidé sur ce coup là !
    Résolu

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

Discussions similaires

  1. [JGraph] NullPointerException dans l'affichage?
    Par Boulette Man dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 13/12/2010, 17h01
  2. NullPointerException dans ma Dao
    Par Armizael dans le forum Langage
    Réponses: 2
    Dernier message: 26/11/2010, 11h52
  3. NullPointerException dans s:validateEquality
    Par Huojid dans le forum Seam
    Réponses: 0
    Dernier message: 02/11/2010, 14h09
  4. NullPointerException dans l'execution
    Par jawed84 dans le forum Struts 1
    Réponses: 11
    Dernier message: 02/01/2008, 08h41
  5. NullPointerException dans JBuilder
    Par baya1 dans le forum JBuilder
    Réponses: 2
    Dernier message: 19/04/2007, 19h53

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