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 :

Langue du texte des JOptionPane


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué Avatar de reeda
    Formateur en informatique
    Inscrit en
    Août 2006
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 367
    Points : 150
    Points
    150
    Par défaut Langue du texte des JOptionPane
    Bonjour tout le monde,

    je suis entrain de travailler sur une application Multilingue, dans laquelle j'utilise des JOptionPane, dont le texte des boutons dépend de la configuration du système,

    est ce qu'il n'y aurait pas un moyen pour changer le texte des des boutons des JOptionPane ?

    Merci d'avance
    Bien cordialement

  2. #2
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Pour changer la locale d'une application, tu dois utiliser Locale.setDefault(), par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Locale.setDefault(Locale.US);
    Mais les composants Swing récupère cette valeur lors du chargement du premier composant, et ne détecte pas son changement. Il faut donc également définir la locale par défaut des composants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JComponent.setDefaultLocale(Locale.US);
    Attention cela ne concernera que les nouveaux composants et non pas les composants existant...

    a++

  3. #3
    Membre habitué Avatar de reeda
    Formateur en informatique
    Inscrit en
    Août 2006
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 367
    Points : 150
    Points
    150
    Par défaut
    salut,

    merci pour ta réponse,
    malheureusement, la langue que je veux n'est pas supporté,
    est ce qu'il n'y aurait pas une autre solution ?

    Merci d'avance

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pas supportée,que veux tu dire par là?

  5. #5
    Membre habitué Avatar de reeda
    Formateur en informatique
    Inscrit en
    Août 2006
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 367
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par sinok Voir le message
    Pas supportée,que veux tu dire par là?
    Bonjour,

    tout simplement, elle n'existe pas dans la liste des langues existantes
    voir ce lien

    Merci d'avance
    bien cordialement

  6. #6
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Par curiosité c'est quoi comme langue ??

    a++

  7. #7
    Membre habitué Avatar de reeda
    Formateur en informatique
    Inscrit en
    Août 2006
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 367
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Par curiosité c'est quoi comme langue ??

    a++
    salut,

    c'est la langue arabe.

    Bien cordialement

  8. #8
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    En effet les traductions n'existent pas... il va falloir les fournir


    Le problème c'est qu'il existe un grand nombre de fichier et de message : http://openjdk.java.net/groups/i18n/#l10n

    Apparemment en ce qui concerne les JOptionPane tout se trouve dans ce resourcebundle : "com.sun.swing.internal.plaf.basic.resources.basic"

    Tu peux le lister comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	ResourceBundle bundle = ResourceBundle.getBundle("com.sun.swing.internal.plaf.basic.resources.basic");
    	for (String key : bundle.keySet()) {
    		System.out.println(key + "=" + bundle.getString(key));
    	}
    Il faut que tu récupères les clef qui t'intéresse pour les traduire...


    Ensuite tu te fais un resourcebundle pour l'arabe avec ces valeurs et tu le rajoutes à l'UIManager :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UIManager.getDefaults().addResourceBundle("tonBundle");

    Attention : comme les fichier *.properties doivent être encodé en ISO-8859-1, je te conseillerais plutôt d'utiliser une classe Java pour le bundle.

    a++

Discussions similaires

  1. [Look and feel] Texte des JLabels en gras
    Par aliasjcdenton dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 26/01/2006, 11h49
  2. Réponses: 3
    Dernier message: 24/05/2004, 16h20
  3. Menu CMainFrame et texte des ID
    Par Alice9 dans le forum MFC
    Réponses: 6
    Dernier message: 19/05/2004, 16h12
  4. [SWT]équivalent des JOptionPane Swing
    Par Le Marlou dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 18/02/2004, 10h56
  5. Empécher la sélection du texte des pages dans un WebBrowser
    Par DevelOpeR13 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 05/06/2003, 18h36

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