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 :

debutant avec ResourceBundle


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut debutant avec ResourceBundle
    bonjour;

    je vient de debuter avec les Ressource Bundles; bon j'ai trouver un exemplpe dans un autre site; j'ai suivi toutes les etapes mais a la fin j'ai eu des erreurs:
    mon projet contient ces fichiers:
    une frame simple:
    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
     
    package p;
     
    import javax.swing.*;
     
    public class MyFrame extends JFrame {
    // Déclaration des différents composants
    private JLabel labelHello;
    private JMenuBar menuBar;
    private JMenu menuLanguage;
    private JMenuItem menuFr;
    private JMenuItem menuEn;
    private LanguageChooser languageChooser;
     
    // Point d’entrée de l’application
    public static void main(String[] args) {
    MyFrame fenetre = new MyFrame();
    }
     
    public MyFrame() {
    // Initialisation standard
    super("Application Internationale");
    setSize(300, 300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    // Création du LanguageChooser
    languageChooser = new LanguageChooser(this);
     
    // Création du label
    labelHello = new JLabel();
    getContentPane().add(labelHello);
     
    // Création de la barre de menu
    menuBar = new JMenuBar();
    menuLanguage = new JMenu();
     
    menuFr = new JMenuItem("Francais");
    menuFr.setActionCommand("menuFr");
    menuFr.addActionListener(languageChooser);
    menuLanguage.add(menuFr);
     
    menuEn = new JMenuItem("English");
    menuEn.setActionCommand("menuEn");
    menuEn.addActionListener(languageChooser);
    menuLanguage.add(menuEn);
     
    menuBar.add(menuLanguage);
    setJMenuBar(menuBar);
     
    // On initailise les valeurs des labels, menus
    paintLabelWithLanguage();
     
    // On affiche la fenêtre
    setVisible(true);
    }
     
    /*
    * Méthode qui initialise le texte des différents labels et menus en
    * fonction de la langue
    */
    protected void paintLabelWithLanguage() {
    menuLanguage.setText(LanguageChooser
    .getAnInternationalizeString("menuLanguage"));
    labelHello.setText(LanguageChooser
    .getAnInternationalizeString("labelHello"));
    }
    }
    la classe LanguageChooser
    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
     
    package p;
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Locale;
    import java.util.ResourceBundle;
     
    public class LanguageChooser implements ActionListener {
     
    // Nom du fichier properties (sans les codes ISO)
    private static final String LANGUAGE_FILE = "language";
     
    private static ResourceBundle resourceBundle;
     
    // La fenetre
    private MyFrame frame;
     
    public LanguageChooser(MyFrame aFrame) {
    frame = aFrame;
    resourceBundle = ResourceBundle.getBundle(LANGUAGE_FILE, Locale
    .getDefault());
    }
     
    // Methode appelee lorsqu’on selectionne un menu
    public void actionPerformed(ActionEvent arg0) {
    // On a selectionne le menu anglais
    if (arg0.getActionCommand().equals("menuEn")) {
    // On choisi le fichier anglais
    resourceBundle = ResourceBundle.getBundle(LANGUAGE_FILE, Locale.US);
    }
    // Sinon on choisi le francais
    else if (arg0.getActionCommand().equals("menuFr")) {
    // On choisi le francais
    resourceBundle = ResourceBundle.getBundle(LANGUAGE_FILE, Locale.FRANCE);
    }
    //On modifie les labels avec la nouvelle langue
    frame.paintLabelWithLanguage();
    }
     
    /*
    * Methode statique qui permet de recuperer un String du fichier de langue
    * en fonction de la cle passee en parametre
    */
    public static String getAnInternationalizeString(String key) {
    // On retourne la valeur associee a la cle
    return resourceBundle.getString(key);
    }
     
     
    }
    et les proprietes:
    Language_fr_FR.properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    menuLanguage=Language
    labelHello=Hello World!
    Language_en_US.properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    menuLanguage=Language
    labelHello=Hello World!
    et enfin la fameuse erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name language, locale fr_FR
    	at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:837)
    	at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:806)
    	at java.util.ResourceBundle.getBundle(ResourceBundle.java:577)
    	at p.LanguageChooser.<init>(LanguageChooser.java:20)
    	at p.MyFrame.<init>(MyFrame.java:26)
    	at p.MyFrame.main(MyFrame.java:16)

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Deux remarques :
    • Attention aux différences de minuscules/majuscules (Language != language)
    • Le nom du fichier properties est un nom "logique" comme s'il s'agissait d'une classe, c'est à dire qu'il doit comporter les éventuelles package Si le fichier est dans le package "p" tu dois utiliser "p.Language".



    a++

  3. #3
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    merci beaucoup c'est resolu

  4. #4
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    maintenant je veut savoir comment faire pour que je l'applique sur les pages jsp et jsf.
    comme l'utiliser dans mon projet j2ee

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par anisj1m Voir le message
    maintenant je veut savoir comment faire pour que je l'applique sur les pages jsp et jsf.
    comme l'utiliser dans mon projet j2ee
    Il y a des librairies qui gère cela très bien (Struts, JSTL, etc...).
    Le mieux serait de te tourner vers le forum JSP/Servlet ou JSF pour avoir de meilleurs info sur le sujet.

    a++

  6. #6
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    merci infiniment adiGuba

Discussions similaires

  1. debutant avec ResourceBundle
    Par anisj1m dans le forum JSF
    Réponses: 13
    Dernier message: 19/10/2007, 17h43
  2. Probleme simple de debutant avec INSERT TO et UPDATE
    Par Tom_Cruise dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/08/2005, 08h15
  3. debuter avec opengl
    Par osykomantis dans le forum OpenGL
    Réponses: 2
    Dernier message: 15/03/2005, 11h45
  4. Problème pour debuter avec glut
    Par ismael14 dans le forum GLUT
    Réponses: 2
    Dernier message: 26/07/2004, 10h37
  5. Gentoo prob de startx (Débutant) avec une ATI
    Par ~Dr@cuL~ dans le forum Applications et environnements graphiques
    Réponses: 10
    Dernier message: 08/04/2004, 18h42

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