Internationalisierung auf Knopfdruck

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich verzweifele hier bald.
Ich hab folgendes Problem:
Ich hab eine Gui, mit Label, Buttons...
Diese sollen per Knopfdruck auf verschiedene Sprachen eingestellt werden können.
Dazu hab ich folgenden Code:
Code:
public class MyResourceBundle
{
	ResourceBundle _bundle;
	public MyResourceBundle(Locale l){
		_bundle = ResourceBundle.getBundle("HostScanner",l);
	}

	String getString(String str){
		return _bundle.getString(str);
	}

	void changeLanguage(Locale l){
		_bundle = ResourceBundle.getBundle("HostScanner", l);
		System.out.println("jetzt: " +  _bundle.getLocale().getDisplayLanguage());
		System.out.println(_bundle.getString("TITEL"));
	}
}

Ich hab hier gleich mal mehrer Probleme:
1. Wenn ich Deutsch einstelle, bleibt das _bundle.getLocale().getDisplayLanguage() leer! Allerdings sollte nach meinem Verständnis da Deutsch stehen. Wenn ich auf Englisch stelle steht da auch English.

2. Mein TITEL wird hier in die Console richtig übersetzt, auch wenn das Locale scheinbar Probleme mit Deutsch hat. Aber ich schaff es einfach nicht, daß die GUI aktualisiert oder neu gezeichnet wird.
Hierzu hab ich versucht meine JFrame Referenz einfach mit repaint() neu zeichnen zu lassen, habs aber auch Hinweise auch mal mit "SwingUtilities.updateComponentTreeUI(JFrame-Referenz)" versucht, ohne Erfolg!
Dieses SwingUtilities.update sollte doch alle Unterelemente, also Panels, labels... neu zeichnen, oder?

Kann mir da einer Helfen?
Danke schon im vorraus.
 

André Uhres

Top Contributor
Du könntest die Anwendung einfach neu starten (natürlich mit der neuen Locale):
Code:
...
public class Application {
    public Application(Locale locale) { 
        app = new JFrame();
...
        app.setVisible(true);
    }
...
    private void restartApp(){
        SwingUtilities.invokeLater(new Runnable(){
            public void run() {
                app.dispose();
                new Application(..);
            }
        });
    }
    public static void main(String args[]) {new Application(..);}
    private JFrame app;
}
 

EagleEye

Bekanntes Mitglied
deine Componenten bekommen dadurch keine neue Beschriftung das mußt du selbst machen oder etwas fertiges nehmen ich hab vor paar Wochen mal was gebaut
es ist noch nicht ganz fertig aber es sollte funktionieren
 
G

Gast

Gast
OK, ich hab jetzt pro Klasse eine Methode changeLanguage reigemacht, die die jeweiligen Komponenten der Klasse aktualisiert.
changeLanguage wird dann einfach per Buttonlistener von meinen Sprachbuttons aufgerufen.
Ist zwar ein wenig aufwendig, aber geht.
Wenn jemand was besseres weiß,....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J FXML - Internationalisierung - Behandung key not found AWT, Swing, JavaFX & SWT 39
D JavaFX Internationalisierung zur Laufzeit AWT, Swing, JavaFX & SWT 7
L Internationalisierung mittels ResourceBundle und Menu HotKey AWT, Swing, JavaFX & SWT 6
N Grundsätzliche Frage zur Internationalisierung AWT, Swing, JavaFX & SWT 2
izoards JavaFX Background Task warten auf Knopfdruck AWT, Swing, JavaFX & SWT 4
D JavaFX Fläche auf Knopfdruck blinken lassen AWT, Swing, JavaFX & SWT 3
U Java FX Zusätzliches Label per Knopfdruck während der Laufzeit auf Panel einfügen. AWT, Swing, JavaFX & SWT 2
V JFreeChart: Tooltip auf Knopfdruck anzeigen AWT, Swing, JavaFX & SWT 2
H Image im Array per Knopfdruck ändern AWT, Swing, JavaFX & SWT 6
F Swing Auf Knopfdruck ein Fenster schliessen AWT, Swing, JavaFX & SWT 12
H String auf Knopfdruck in JPanel zeichnen. AWT, Swing, JavaFX & SWT 6
B Panels wechseln auf Knopfdruck AWT, Swing, JavaFX & SWT 17
Weiti Swing Animationen - Drehung aller Komponenten auf Knopfdruck AWT, Swing, JavaFX & SWT 12
B bin am verzweifeln, will auf knopfdruck durch ne überprüfung die labels unsichtbar machen AWT, Swing, JavaFX & SWT 2
M Animation auf JPanel per Knopfdruck AWT, Swing, JavaFX & SWT 12
D Schließen der GUI auf knopfdruck AWT, Swing, JavaFX & SWT 7
E JDialog auf Knopfdruck schliessen AWT, Swing, JavaFX & SWT 2
S Object auf Knopfdruck dem Frame hinzufügen AWT, Swing, JavaFX & SWT 2
T SWT:Tabelle auf Knopfdruck mit aktualisierten Daten zeichnen AWT, Swing, JavaFX & SWT 9
F Bild auf Knopfdruck AWT, Swing, JavaFX & SWT 4
G ActionListener - Texte ändern per Knopfdruck AWT, Swing, JavaFX & SWT 4
K Java2D auf Knopfdruck weiterzeichnen AWT, Swing, JavaFX & SWT 4
V Auf Knopfdruck malen ?????? AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben