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 :

[exception] probleme IHM


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé Avatar de thomas9501
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut [exception] probleme IHM
    je ne sais pas si je post au bon endroit mais bon.

    voici le code que j'utilise dand une IHM :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class ButtonListener implements ActionListener {
    		public void actionPerformed (ActionEvent e){
    			if (e.getSource()==ok1){
    				if ((jtf1.getText() == null) || (jtf1.getText().equals(""))) jta.setText("Vous devez entrer un mot pour afficher sa définition");
    				else {
    					Mot tmp=new Mot(jtf1.getText());
    					/* Erreur ici */if(D.estPresent(tmp)==false) jta.setText("Le mot n'est pas dans la dictionnaire");
    				}
    				frame1.setVisible(false);
    			}
    ...
    En fait ce que je veux faire, c'est que quand je clique sur le bouton ok, il regarde si le mot tapé est dans le dictionnaire. S'il n'y est pas il affiche un msg d'erreur.

    Le probleme est que quand j'execute l'IHM et que je clique sur le bouton ok, j'ai cette exception qui sort dans la console :

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at TestIHM$ButtonListener.actionPerformed(TestIHM.java:328)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18
    49)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
    a:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
    .java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
    )
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
    istener.java:234)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212
    )
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)

    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1774)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
    read.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
    ad.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Si quelqu'un sait pourquoi ...

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par thomas9501
    Si quelqu'un sait pourquoi ...
    Ben une NullPointerException, c'est quand tu as une variable qui est à null.
    Donc tu cherches laquelle c'est, et tu as résolu ton erreur!

    Parce là, il n'y a pas assez de code pour répondre.
    C'est quoi D?
    C'et quoi jta?
    Est-ce qu'ils sont bien définis au moment de l'action?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre confirmé Avatar de thomas9501
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    Parce là, il n'y a pas assez de code pour répondre.
    C'est quoi D?
    C'et quoi jta?
    Est-ce qu'ils sont bien définis au moment de l'action ?
    Oui, j'ai pas mis tout les code parce qu'il y a plusieurs centaines lignes de code.

    D c'est un dictionnaire, jta c'est un JTextField et ils sont bien définis au moment de l'action.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Par défaut
    salut...
    peut etre que si tu faisait des system.out.println() à chaque étape tu verrais quelle est ta varaible qui n'a pa été instancié...

  5. #5
    Membre confirmé Avatar de thomas9501
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    non parce que je sais que l'erreur ce trouve là : D.estPresent(tmp)

    mais je ne voit pas pourquoi cette erreur.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Par défaut
    bah montre nous ton code qui l'instancie... ton D (dictionnaire),
    remarque si D est le nom de ta variable pour ta classe Dictionnaire, c'est mieux que ce soit en minuscule 'd'...

  7. #7
    Membre confirmé Avatar de thomas9501
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    voila pour toi :
    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
    import java.util.*;
     
     /**
     * Classe Dictionnaire qui créé un dictionnaire contenant les mots et les définitions sous forme d'une HashMap
     * Les synonymes pour chaque définition sont stockés dans une ArrayList
     * 
     * @version 1.0 / 01 décembre 2006
     */
    public class Dictionnaire {
     
    	/**
             * Structure contenant les mots et définitions par association clé+valeur
             */
    	HashMap dico;
     
    	/**
             * Iterateur pour l'affichage des synonymes et la suppression d'un mot
             */
    	Iterator it;
     
    	/**
             * Structure contenant les synonymes pour une définition
             */
    	ArrayList <Mot> syn;
     
    	/**
             * Contrôle pour la boucle for
             */
    	int i;
     
    	/**
             * Constructeur de la classe Dictionnaire
             */
    	public Dictionnaire(){
    		dico = new HashMap();
    	}
     
    	/**
             * Méthode ajoutant un mot et une définition au dictionnaire
             */
    	public void ajouterDico (Mot m,Definition def){
    		dico.put(m,def);
    		((Definition)(dico.get(m))).syn.add(m);
    	}
     
    	/**
             * Méthode ajoutant le synonyme d'un mot
             */
    	public void ajouterSyn(Mot m,Mot s){
    		dico.put(s,dico.get(m));
    		((Definition)(dico.get(m))).syn.add(s);
    	}
     
    	/**
             * Méthode retirant un mot et sa definition du dictionnaire
             */
    	public void retirerDico (Mot m){
    		it=((Definition)(dico.get(m))).syn.iterator();
    		while ( it.hasNext() ) {
    			Mot n = (Mot)it.next(); //range l'élément courant
    			if(n==m) it.remove();
    		}
    		Object val=dico.remove (m); //supprime le mot et la definition de la HashMap
    		if (val != null) System.out.println ("Le mot "+m.GetMot()+" à été supprimé du dictionnaire\n");
    		else System.out.println ("Le mot n'a pas été trouvé dans le dictionnaire !!!");			
    	}
     
    	/**
             * Méthode affichant la definition
             */
    	public void AfficheDef (Mot m){
    		Definition t = (Definition)(dico.get(m));
    		System.out.println ("Définition de "+m.GetMot()+" : "+t.getDef());
    		System.out.println ("");
    	}
     
    	/**
             * Méthode renvoyant la definition
             */
    	public Definition GetDef (Mot m){
    		return (Definition)(dico.get(m));
    	}
     
    	/**
             * Méthode affichant les synonymes d'un mot donné
             */
    	public void afficheSyn (Mot m){
    		System.out.println ("Les synonymes de "+m.GetMot()+" sont :");
    		ArrayList t = ((Definition)(dico.get(m))).syn;
    		it=t.iterator();
    		while ( it . hasNext ( ) ) {
    			Mot n = (Mot)it.next(); //range l'élément courant
    			if((n!=null)&&(n!=m)) System.out.println (""+n.GetMot());	
    		}
    		System.out.println ("");	
     
    	}
     
    }
    remarque si D est le nom de ta variable pour ta classe Dictionnaire, c'est mieux que ce soit en minuscule 'd'...
    non ça change rien

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Par défaut
    Citation:
    remarque si D est le nom de ta variable pour ta classe Dictionnaire, c'est mieux que ce soit en minuscule 'd'...

    non ça change rien
    -> c'est normal que ca change rien mais c'est juste mieux.... les nom de variable commence par des minuscules, et les nom de classes par des majuscules....

    sinon tu ne ma pas mis le code ou tu instancie ton dictionnaire :
    genre Dictionnaire d = new Dictionnaire() ?

  9. #9
    Membre confirmé Avatar de thomas9501
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    Probleme résolu, j'avais juste creer 2 fois mon dictionnaire ^^

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

Discussions similaires

  1. PreferenceStore Exception problem
    Par Bouben dans le forum SWT/JFace
    Réponses: 5
    Dernier message: 10/05/2010, 11h47
  2. probleme ihm et socket
    Par darkgenesis dans le forum EDT/SwingWorker
    Réponses: 4
    Dernier message: 09/01/2009, 23h28
  3. [PL/SQL] gestion des exceptions - probleme
    Par etoileDesNeiges dans le forum Administration
    Réponses: 6
    Dernier message: 11/01/2007, 17h13
  4. [Exception]Probleme : Java.lang.Exception
    Par Nico66 dans le forum Général Java
    Réponses: 6
    Dernier message: 09/05/2005, 12h06
  5. probleme d'affichage IHM 'Parametre incorrect'
    Par GENERYS dans le forum C++Builder
    Réponses: 5
    Dernier message: 26/11/2004, 16h53

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