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

Collection et Stream Java Discussion :

[PropertyResourceBundle] Pas de retour de tous les parametres


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut [PropertyResourceBundle] Pas de retour de tous les parametres
    Bonjour à tous,
    Je débute plus ou moins en java et pour m’exercer je tente de créer une calculatrice (original ? non ?… non ). C’est la deuxième que je fais, la première utilisais une classe rassemblant les constantes, pour celle–ci je souhaite passer par un PropertyResourceBundle et donc par un fichier .properties seulement voila, j’ai un problème les touches de ma calculatrice sont vide de texte (mais pas que les touches au final…).

    Grâce au debug j’ai localisé le problème dans ma classe Parametrage, qui fait appel au PropertyResourceBundle qui ne me retourne pas toutes les valeurs demandées (marqué en commentaires dans le code) mais à partir de là je bloque… ben oui il me ramène certains des paramètres correctement (donc ça ne vient pas des méthodes getConstanteXxx(String)) ni du nom des variables ou des String qui les références (enfin je pense…).

    Donc voilà, si quelqu’un voit la solution à mon problème (à force d’être le nez collé sur son code on voit moins bien ses erreurs )

    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
     
    package net.lilk.calc.parametrage;
     
    import java.util.PropertyResourceBundle;
    import java.util.ResourceBundle;
     
    public class Parametrage {
     
    	private static final PropertyResourceBundle propertyResourceBundle = (PropertyResourceBundle) ResourceBundle
    			.getBundle("parametres");
     
    	public static final int LARGEUR = getConstanteInt("LARGEUR");
    	public static final int HAUTEUR = getConstanteInt("HAUTEUR");
    	public static final boolean RESIZABLE = getConstanteBoolean("RESIZABLE");
    	public static final int ACTION_CLOSE = getConstanteInt("DEFAULT_ACTION_CLOSE");
    	public static final String FENETRE = getConstanteString("TITRE_FENETRE_PRINCIPALE");
    	public static final String ONGLETS = getConstanteString("NOM_TABBED_PANE1"); //retourne null
    	public static final String NOM_ONGLET_1 = getConstanteString("NOM_ONGLET_1"); //retourne null
    	public static final String CHAMP_PRINCIPAL = getConstanteString("NOM_TEXTFIELD1");
    	public static final String BOUTON0 = getConstanteString("BOUTON0"); //retourne null
    	public static final String BOUTON1 = getConstanteString("BOUTON1"); //retourne null
    	public static final String BOUTON2 = getConstanteString("BOUTON2"); //retourne null
    	public static final String BOUTON3 = getConstanteString("BOUTON3"); //retourne null
    	public static final String BOUTON4 = getConstanteString("BOUTON4"); //retourne null
    	public static final String BOUTON5 = getConstanteString("BOUTON5"); //retourne null
    	public static final String BOUTON6 = getConstanteString("BOUTON6"); //retourne null
    	public static final String BOUTON7 = getConstanteString("BOUTON7"); //retourne null
    	public static final String BOUTON8 = getConstanteString("BOUTON8"); //retourne null
    	public static final String BOUTON9 = getConstanteString("BOUTON9"); //retourne null
    	public static final String BOUTON_DIV = getConstanteString("BOUTON_DIV"); //retourne null
    	public static final String BOUTON_PLUS = getConstanteString("BOUTON_PLUS"); //retourne null
    	public static final String BOUTON_MOINS = getConstanteString("BOUTON_MOINS"); //retourne null
    	public static final String BOUTON_MULT = getConstanteString("BOUTON_MULT"); //retourne null
    	public static final String BOUTON_EGAL = getConstanteString("BOUTON_EGAL"); //retourne null
    	public static final String ICONE1 = getConstanteString("CHEMIN_ICO_CALC"); 
    	public static final String OPERATEUR = getConstanteString("NOM_LABEL1");
    	public static final String MENU_FICHIER = getConstanteString("MENU_FICHIER");
    	public static final String[] SOUS_MENU_FICHIER = getConstanteStringTab("SOUS_MENU_FICHIER");
     
     
     
     
    	private static Parametrage parametrage;
     
    	private Parametrage() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
     
    	public static Parametrage getInstance(){
    		if (parametrage == null){
    			parametrage = new Parametrage();
    		}
    		return parametrage;
    	}
     
    	private static int getConstanteInt(String string) {
    		int valeur = Integer.parseInt((String) propertyResourceBundle
    				.handleGetObject(string));
    		return valeur;
    	}
     
    	private static boolean getConstanteBoolean(String string) {
    		boolean valeur = Boolean.parseBoolean((String) propertyResourceBundle
    				.handleGetObject(string));
    		return valeur;
    	}
     
    	private static String getConstanteString(String string) {
    		String valeur = (String) propertyResourceBundle.handleGetObject(string);
    		return valeur;
    	}
     
    	private static String[] getConstanteStringTab(String string) {
    		String valeurs = (String) propertyResourceBundle
    				.handleGetObject(string);
    		String[] liste = valeurs.split("\\|");
    		return liste;
    	}
    }
    Le fichier parametres.properties :
    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
     
    # Config de la fenetre
    LARGEUR = 300
    HAUTEUR = 300
    RESIZABLE = true
     
    # DO_NOTHING_ON_CLOSE = 0
    # HIDE_ON_CLOSE = 1
    # DISPOSE_ON_CLOSE = 2
    # EXIT_ON_CLOSE = 3
    DEFAULT_ACTION_CLOSE = 2
     
    # nom de composant
    TITRE_FENETRE_PRINCIPALE = Application
    CALCUL_BOUTON = Calcul
    NOM_BOUTON1 = bouton1
    NOM_TEXTFIELD1 = textField1
    NOM_TEXTFIELD2 = textField2
    NOM_LABEL1 = operateur
    NOM_LABEL2 = label2
    NOM_JTEXTAREA1 = jTextArea1
    NOM_SCROLLPANE1 = scrollPane1
    NOM_COMBOBOX1 = comboBox1
    NOM_TABBED_PANE1 = onglets
    NOM_ONGLET_1 = Calculatrice
    NOM_ONGLET2 = Autres
     
    # Utiliser "separateur" pour introduire une ligne de séparation dans le sous menu
    MENU_FICHIER = Fichier
    SOUS_MENU_FICHIER = Nouveau|Ouvrir|Sauver|separateur|Quitter|
     
    # BOUTONS
    BOUTON0 = 0
    BOUTON1 = 1
    BOUTON2 = 2
    BOUTON3 = 3
    BOUTON4 = 4
    BOUTON5 = 5
    BOUTON6 = 3
    BOUTON7 = 7
    BOUTON8 = 8
    BOUTON9 = 9
    BOUTON_DIV = /
    BOUTON_PLUS = +
    BOUTON_MOINS = -
    BOUTON_MULT = x
    BOUTON_EGAL = =
     
     
    # chemin vers les images
    CHEMIN_ICO_CALC = ../WEB-INF/images/calculator.gif
    CHEMIN_ICO_GEEK = WEB-INF/images/geekmodif2.gif
    Je vous remercie d’avance,

    JavaLilk

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Cela me semblait bizarre, alors j'ai testé ton code, et il fonctionne parfaitement bien chez moi
    La ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println( Parametrage.BOUTON0 + "," + Parametrage.FENETRE );
    me renvoie
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    Merci pour ta réponse dinobogan,

    Cela me semblait bizarre...
    Ben moi aussi ça me paraît bizarre... donc j'ai testé la même ligne de code que toi
    et elle me renvoie
    Donc je vais farfouiller dans les propriétés d'Eclipse voir si il n'y aurait pas une configuration bizarre (Build Path et autre) et je vais essayer de déplacer mon .properties dans un peu tous les fichiers pour voir.

    Je te tiens au courant (et encore merci )

    [EDIT]
    Au final, j'ai copié mon fichier.properties de mon dossier "src" vers "Mes Documents", je l'ai supprimé dans le dossier "src" et dans le dossier "bin" de mon projet puis je l'ai recollé dans les deux et... ça marche...

    Je pense que mon fichier n'était pas à jour dans le dossier "bin" et ne regardant que celui de mon dossier src je ne comprenais pas pourquoi il me renvoyait "null" pour certaines données ... donc voilà, une erreur que j'espère ne plus refaire

    Zou une balise et encore merci Dinobogan de t'être penché sur mon problème
    [/EDIT]

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

Discussions similaires

  1. Jointure qui ne renvoie pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 12
    Dernier message: 19/07/2024, 09h33
  2. WebSocket : Comment ne pas envoyer de message à tous les pairs ?
    Par Ryu2000 dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 09/01/2014, 11h07
  3. Réponses: 7
    Dernier message: 22/04/2010, 15h45
  4. TXMLDocument, ne fonctionne pas sur tous les PC
    Par Neilos dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/10/2005, 22h33
  5. Les Langages ne sont pas tous les mêmes ......
    Par Max Payne dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/08/2003, 13h51

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