G
Guest
Gast
Hallo!
Ich möchte einen Dialog erstellen, in dem der Benutzer die Sprache auswählen kann. Die Grundidee war nun folgende:
Ich erstelle einen Array mit Locale-Objekten, die den Sprachen entsprechen, die von der Applikation unterstützt werden:
Diesen Array übergebe ich dann einer JComboBox im Dialog. Nun ist es aber so, dass die toString-Methode der Klasse Locale nur das Kürzel (z.b. "de") für die Sprache ausgibt und den String (z.b. "Deutsch"), wie es die Methode getDisplayLanguage(Locale inLocale) machen würde. Da die Klasse Locale leider final ist, habe ich keine Möglichkeit die toString-Methode zu überschreiben um dort die Methode getDisplayLanguage aufzurufen.
Frage 1:
Muss ich also die Strings die mir getDisplayLanguage liefert in die ComboBox schreiben und zusätzlich noch einen HashTable verwalten, der die Strings mit den Locale-Objekten assoziiert, oder gibt es da einen besseren Weg?
Frage 2:
Gibt es eine Möglichkeit, die gesamte GUI ohne Neustart der Applikation zu aktualisieren, wenn der Benutzer eine neue Sprache gewählt hat?
Ich möchte einen Dialog erstellen, in dem der Benutzer die Sprache auswählen kann. Die Grundidee war nun folgende:
Ich erstelle einen Array mit Locale-Objekten, die den Sprachen entsprechen, die von der Applikation unterstützt werden:
Code:
Locale[] supportedLanguages = new Locale[] { new Locale("de"), new Locale("en") };
Diesen Array übergebe ich dann einer JComboBox im Dialog. Nun ist es aber so, dass die toString-Methode der Klasse Locale nur das Kürzel (z.b. "de") für die Sprache ausgibt und den String (z.b. "Deutsch"), wie es die Methode getDisplayLanguage(Locale inLocale) machen würde. Da die Klasse Locale leider final ist, habe ich keine Möglichkeit die toString-Methode zu überschreiben um dort die Methode getDisplayLanguage aufzurufen.
Frage 1:
Muss ich also die Strings die mir getDisplayLanguage liefert in die ComboBox schreiben und zusätzlich noch einen HashTable verwalten, der die Strings mit den Locale-Objekten assoziiert, oder gibt es da einen besseren Weg?
Frage 2:
Gibt es eine Möglichkeit, die gesamte GUI ohne Neustart der Applikation zu aktualisieren, wenn der Benutzer eine neue Sprache gewählt hat?