Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 22

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    27
    Quote Originariamente inviata da andbin Visualizza il messaggio
    E cosa ti impedisce di fare es.:

    label.setText(bundle.getString("stringa"));
    ?
    Me lo impedisce il fatto che non so in che lingua sia così

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da wasd28 Visualizza il messaggio
    Me lo impedisce il fatto che non so in che lingua sia così
    Che vuol dire!? Se tenessi una variabile di istanza per il ResourceBundle, la lingua è quella, ovviamente, dell'ultimo ResourceBundle che è stato caricato e assegnato alla variabile.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    27
    Quindi dovrei mettere in public esempio

    codice:
    Locale italy = new Locale("it","IT");
    ResourceBundle bundle = ResourceBundle.getBundle("lang/trad", italy);
    nel listener del bottone italiano
    codice:
    Locale italy = new Locale("it","IT");
    bundle = ResourceBundle.getBundle("lang.trad", italy);
    In quello inglese:
    codice:
    Locale usa = new Locale("en","US");
    bundle = ResourceBundle.getBundle("lang.trad", usa);
    e poi se voglio settare la stringa mi basta fare:
    label.setText(bundle.getString("stringa"));

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    codice:
    public class esempio extends JFrame {
        // .....
        private ResourceBundle bundle;
    
        // ....
    
            btnItaliano.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    bundle = ResourceBundle.getBundle("lang.trad", new Locale("it","IT"));
                }
            });
    
        // .....
    
            btnControlla.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                          .....
                    label.setText(bundle.getString("stringa"));
                }
            });
    
    }

    E se vuoi (sarebbe assolutamente consigliato se avessi più classi diverse che devono usare testi "localizzati") potresti anche incapsulare la gestione del ResourceBundle in una classe a parte che magari potrebbe essere un "singleton".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    27
    Quote Originariamente inviata da andbin Visualizza il messaggio
    codice:
    public class esempio extends JFrame {
        // .....
        private ResourceBundle bundle;
    
        // ....
    
            btnItaliano.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    bundle = ResourceBundle.getBundle("lang.trad", new Locale("it","IT"));
                }
            });
    
        // .....
    
            btnControlla.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                          .....
                    label.setText(bundle.getString("stringa"));
                }
            });
    
    }

    E se vuoi (sarebbe assolutamente consigliato se avessi più classi diverse che devono usare testi "localizzati") potresti anche incapsulare la gestione del ResourceBundle in una classe a parte che magari potrebbe essere un "singleton".
    Ma sei un grandeee, è una settimana che ho questo problema sei riuscito a risolverlo ottimamente direi! Grazie mille, sei stato molto utile )

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.