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

Langage Java Discussion :

Problèmes avec la fonction enum


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Par défaut Problèmes avec la fonction enum
    Bonjour à tous !!!

    Voila, j'ai un problème avec nos amis les enums ,

    Je me sert de cette fonction pour traduire un soft en 2 langues, mais voila quand je test la fonction de traduction il me renvoie l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Il me semble me souvenir que cela veut dire que j'ai une variable non-initialiser quelque part mais je n'en suis pas, sur, et si c'est bien sa l'explication je n'arrive pas a voir laquelle .

    Pour pouvoir vous aidez à m'aider je vous mets les codes que j'ai actuellement.

    Le premier est la fonction qui va me servir à traduire le reste (je vous ai enlevez tout ce qui avait attrait à la conception graphique)
    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
    public class ChooseLanguageUI implements Displayable, ActionListener {
     
    		Translation tr;
    		final private JPanel ui = new JPanel(new MigLayout());
    		final private JButton closeButton = new JButton(Translation.CLOSEBUTTON.setEnglish());
    		final private JButton startButton = new JButton(Translation.STARTBUTTON.setEnglish());
    		final private JRadioButton rbE = new JRadioButton("English");
    		final private JRadioButton rbF = new JRadioButton("French");
    		final private CloseListener<?> cl;
     
     
    		public void actionPerformed(ActionEvent evt) {
    			final Object src = evt.getSource();
     
    			if (src == startButton) {
    				if(rbE.isSelected()==true){
    					tr.setEnglish();
    					cl.closePerformed(null, null);
    				}
    				else if (rbF.isSelected()==true){;	
    					tr.setFrench();
    					cl.closePerformed(null, null);
    				}
    			}
    			else if (src == closeButton) {
    				cl.closePerformed(null, null);	
    			}
    		}
     
    		public JRadioButton getRbE() {
    			return rbE;
    		}
     
    		public JRadioButton getRbF() {
    			return rbF;
    		}
    }

    Celui-ci est le fichier qui contient la classe de type enum
    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
    package omm_accesskeys.core;
     
    public enum Translation {
     
    	CLOSEBUTTON("Close", "Annuler"),
    	STARTBUTTON("select","selectionner"),
    	;
     
    	private String en;
    	private String fr;
     
    	private Translation(String en, String fr) {
    		this.en = en;
    		this.fr = fr;
    	}
     
    	public String setFrench()  {
    		return this.fr;
    	}
    	public String setEnglish(){
    		return this.en;
    	}
    }

    Merci a vous

    Melom

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Melom Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    Il me semble me souvenir que cela veut dire que j'ai une variable non-initialiser quelque part mais je n'en suis pas, sur, et si c'est bien sa l'explication je n'arrive pas a voir laquelle .
    Regardez le stacktrace de l'erreur, la ligne où vous déférencez le null est indiquée.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Par défaut
    Le compilateur m'indique que c'est sur l'appelle de la fonction setFrench() quand je choisit de la version française ou setEnglish quand je demande la verson anglaise.

    Les appels sont dans le premier fichier, et le corps dans le deuxième.

    Melom

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tr est donc null, c'est là votre problème.

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Par défaut
    Merci

    Je risque d'être un petit peu embêtant en demandant pourquoi ?

    En effet tr est de type Translation, il devrait par défaut valoir les paramètres qui se trouvent dans le constructeur, comment cela est-il possible ?

    Et vu que cela semble être le cas, existe-t-il un tutoriel ou quelque chose du genre duquel je puisse m'inspirer pour trouver solution a mon problème ?

    Melom

    ps : pas la peine de me vouvoyez je suis largement plus jeune que vous ^^

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Dans ChooseLanguageUI je ne vois nulle part où vous initialisez tr!

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 28
    Par défaut
    Citation Envoyé par Melom Voir le message
    En effet tr est de type Translation, il devrait par défaut valoir les paramètres qui se trouvent dans le constructeur, comment cela est-il possible ?
    Comme dit par tchize_, le problème est justement qu'il n'y a pas d'initialisation de tr. Je ne vois pas de trace du constructeur dont tu parles.

    Ajoute un constructeur à ta classe ChooseLanguageUI, lequel prendra en argument un objet Translation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ChooseLanguageUI (Translation language)
    {
         this.tr = language;
    }
    Au passage, attention, le membre final private CloseListener<?> cl n'est pas initialisé non plus.

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

Discussions similaires

  1. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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