Swing-Beschriftungen eine andere Sprache geben

Die Swing-Komponenten sind von Haus aus lokalisiert. So begegnet dem Anwender ein Dateiauswahldialog unter dem deutschen System auch mit deutschen Beschriftungen. Die Sprache lässt sie über das passende Locale-Objekt ändern. So setzt für neue Komponenten folgendes die Sprache auf Arabisch:

JComponent.setDefaultLocale( new Locale("ar") );

Mit der Änderung auf eine Sprache, die von rechts nach links schreibt, ist automatisch eine Umsortierung der Komponenten verbunden, wenn diese zum Beispiel in einem Container mit FlowLayout liegen.

Ändern der Zeichenfolgen

Die Zeichenketten selbst werden aus einer Ressourcen-Datei gelesen und sind im UIManager präsent.

Beispiel: Um die deutsche Beschriftung »Suchen in:« im Dateiauswahldialog zu ersetzen, ist die Eigenschaft FileChooser.lookInLabelText zu setzen:

UIManager.put( "FileChooser.lookInLabelText" ,"Worin'e suchen tust:" );
new JFileChooser().showOpenDialog( null );
System.exit( 0 );

Eine Liste aller zu setzenden Properties ist etwa auf der Webseitehttp://www.rgagnon.com/javadetails/JavaUIDefaults.txt aufgelistet.

Um für alle Programme die Änderungen gültig zu machen, sollten für das verwendete Look and Feel.properties-Dateien angelegt werden. Die Dateien müssen dann im Programmpfad stehen. So sehen die Dateipfade für Windows und Metal folgendermaßen aus:

  • com/sun/java/swing/plaf/windows/resources/windows_de.properties
  • javax/swing/plaf/metal/resources/metal_de.properties

Die Dateien sind die bekannten Ressourcen-Dateien mit den Schlüsseln, die in JavaUIDefaults.txtgenannt sind.

Beispiel: Um unter dem Windows-Look and Feel global einen Bezeichner für den Dateiauswahldialog zu ändern, setzen wir in windows_de.properties:

FileChooser.lookInLabelText=Worin'e suchen tust:

Über Christian Ullenboom

Ich bin Christian Ullenboom und Autor der Bücher ›Java ist auch eine Insel. Einführung, Ausbildung, Praxis‹ und ›Java SE 8 Standard-Bibliothek. Das Handbuch für Java-Entwickler‹. Seit 1997 berate ich Unternehmen im Einsatz von Java. Sun ernannte mich 2005 zum ›Java-Champion‹.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.