Buttons um sprache zu ändern.

Status
Nicht offen für weitere Antworten.

Haudix

Mitglied
Hallo,
ich habe ein Formular mit Name, Vorname, Straße usw...
jetzt möchte ich oben in die Ecke eine deutsche und eine englische Flagge machen.
und bei klick auf die Flagge möchte ich, dass siche alle Labels von Deutsch in Englisch und anderest rum ändern!?!?
kann mir jemand helfen?
also mit dem erzeugen der Flaggen und der Sprachänderung?

Mach noch nicht so lang Java.

Danke
 

Marco13

Top Contributor
Das nachträglich zu ändern ist - wenn man es in "allgemeingültiger" Form machen will, sehr, sehr aufwändig (und frickelig-fummelig-unübersichtlich). Wenn es nur um 2 oder 3 ganze spezielle Labels geht, kann man sich natürlich die Labels speichern und einen ActionListener an die Buttons hängen, der dann einfach
label0.setText("Eingabe");
label1.setText("Wasauchimmer");
...
oder
label0.setText("Input");
label1.setText("Whatever");
...
ausführt, aber wenn man eine komplexe(re) GUI hat, bei der das ganze schon sauber über I18N gelöst ist, geht das nicht so ohne witeres.

Sinnvoller wäre, ERST eine Sprachauswahl zu machen, und DANN das GUI in der passenden Sprache aufzubauen...
 

Haudix

Mitglied
danke für die schnell antwort!
also ich möchte es eig. nur auf deutsch haben.
aber falls es mal englisch sein sollte wäre das ein feines extra.
er wäre super wenn is per klick gehen würde es sind nur 6 labels.
Name, Straße, Ort, Nummer, Geschelcht.
 

hdi

Top Contributor
Es gibt ja auch den Mittelweg:

[HIGHLIGHT="Java"]Map<String,Map<String,String>> langMap[/HIGHLIGHT]

Die erste Map enthält als keys die Sprachen, Bsp "de", "en" usw.
Wenn man so eine Sprache auf sie anwedendet, bekommt man wieder eine Map.

Diese Mao besteht aus Propertys mit Values. zB ein

langMap.get("en").get(PROPERTY_PHONE)

würde den String "Telephone" geben, ein:

langMap.get("de").get(PROPERTY_PHONE)

würde den String "Telefon" geben.

Diese Propertys wie zB das "PROPERTY_PHONE" solltest du in einer Klasse, besser
noch Interface, einfach
als public static final Strings deklarieren.

Jetzt ist natürlich noch offen, wie du die Map befüllst. Du könntest es während der Laufzeit
beim Programmstart machen, indem du zB textfiles ausliest. Die heissen dann en.txt
oder de.txt
und haben zeilenweise so einträge wie:

PROPERTY_PHONE = Telefon

Auf jeden Fall kriegt man mit so einer Doppel-Map ein ganz gutes Sprachsystem hin.
 

Haudix

Mitglied
hm ok also mein Label ist Vorname
[HIGHLIGHT="Java"]

Map<String,Map<String,String>> langMap


langMap.get("en").get(PROPERTY_Forename)



langMap.get("de").get(PROPERTY_Forename)


PROPERTY_Forename = Vorname

[/HIGHLIGHT]

meinst du so?
 

Ebenius

Top Contributor
Würde ich nicht machen. Schreib Dir eine Properties-Datei pro Sprache ...

resources.properties (default locale, sollte mit im JAR liegen)
Code:
### Name of the first label
my.pkg.label1.text = Hallo

resources_en.properties (english locale)
Code:
### Name of the first label
my.pkg.label1.text = Hello

resources_en_AU.properties (english/Austrialia locale)
Code:
### Name of the first label
my.pkg.label1.text = Hey Dude

... und nutze die ResourceBundle-Klasse:

[Highlight=Java]final ResourceBundle bundle = ResourceBundle.getBundle("resources", selectedLocale);
label1.setText(bundle.getString("my.pkg.label1.text"));[/Highlight]​

Die Liste aller unterstützten Sprachen kannst Du zum Beispiel in einer anderen Properties-Datei speichern:

myApp.properties
Code:
### List of support locales
myApp.supportedLocales = de,en,en_AU

... und mit der Properties-Klasse laden:
[HIGHLIGHT="Java"]final Properties p = new Properties();
final InputStream is = new FileInputStream("myApp.properties");
p.load(is);
is.close();

final String pVal = p.getProperty("myApp.supportedLocales", "de");
final String[] localeNames = pVal.split(",");
final Locale[] supportedLocales = new Locale(localeNames.length);
for (int i = 0; i < localeNames.length; i ++) {
supportedLocales = createLocale(localeNames);
}[/HIGHLIGHT]
[HIGHLIGHT="Java"]static Locale createLocale(String name) {
final String[] part = name.split("_", 3);
final String lang = part[0];
final String country = part.length > 0 ? part[1] : "";
final String variant = part.length > 1 ? part[2] : "";
return new Locale(lang, country, variant);
}[/HIGHLIGHT]


Ebenius
 

Marco13

Top Contributor
Unabhängig davon, wo man die verschiedenen Sprach-Strings speichert, muss man sie auch noch zuweisen - so eine Methode, die einfach durch die bekannten Components geht, ist zwar einfach und pragmatisch, aber auch unflexibel... Naja - vielleicht reicht das ja hier ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
D Custom Buttons oder Custom Combobox Java Basics - Anfänger-Themen 30
A Aktualisierung eines Buttons Java Basics - Anfänger-Themen 18
S Runde Buttons erstellen Java Basics - Anfänger-Themen 10
J Input/Output Input Buttons Html mit JSP Java Basics - Anfänger-Themen 3
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
T Buttons... Java Basics - Anfänger-Themen 1
U Javafx Array aus Buttons Java Basics - Anfänger-Themen 2
L Buttons außerhalb der sichtbaren Activity Java Basics - Anfänger-Themen 8
E Hilfe bei Buttons (GUI) Java Basics - Anfänger-Themen 3
D Mit Buttonklick Farbe der anderen Buttons verändern? Java Basics - Anfänger-Themen 2
L Buttons ansprechen Java Basics - Anfänger-Themen 1
F Mehrfaches Clicken eines Buttons Java Basics - Anfänger-Themen 1
H Buttons zeigen keine Reaktion Java Basics - Anfänger-Themen 6
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
H Java Buttons ausblenden bei inaktivität Java Basics - Anfänger-Themen 1
A Nach Druck eines Buttons reagieren andere Button nicht Java Basics - Anfänger-Themen 3
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
D Variable Anzahl an Buttons per Schleife Java Basics - Anfänger-Themen 7
U Best Practice Buttons sollen ÜBER Labeln liegen, also quasi im Vordergrund. WIE? Java Basics - Anfänger-Themen 4
TheSorm Anzeige fehler eines Buttons Java Basics - Anfänger-Themen 3
M Icons auf Buttons Java Basics - Anfänger-Themen 9
S Variablen Variable bei drücken eines Buttons ändern Java Basics - Anfänger-Themen 1
M Buttons funktionieren nicht Java Basics - Anfänger-Themen 4
lord239123 Buttons werden nicht angezeigt Java Basics - Anfänger-Themen 3
D Erste Schritte Buttons mit actionlistener Problem Java Basics - Anfänger-Themen 3
M Größe eines Buttons festlegen Java Basics - Anfänger-Themen 4
W Buttons sollen bei Mausklick einen String schreiben Java Basics - Anfänger-Themen 11
J Aktivierung eines Buttons nach Eingabe in Textfeldern (DocumentListener) Java Basics - Anfänger-Themen 4
O Position des Buttons wird nicht geändert.. Java Basics - Anfänger-Themen 6
K Erste Schritte GUI - Hintergrundbild und darauf Buttons Java Basics - Anfänger-Themen 2
J BlueJ canvas Buttons adden? Java Basics - Anfänger-Themen 2
U Methoden Methode zur Erstellung von Buttons Java Basics - Anfänger-Themen 11
H Icons in Buttons resizable? Java Basics - Anfänger-Themen 3
C Buttons über Textfeld beschriften Java Basics - Anfänger-Themen 10
L OOP Buttons mit Pfeilen miteinander verbinden Java Basics - Anfänger-Themen 5
A Dropdown Liste - mit je zwei Verlinkungen und zwei ausführende Buttons Java Basics - Anfänger-Themen 3
I Dynamisch erzeugten Buttons Methoden zuweisen Java Basics - Anfänger-Themen 6
P Listener für mehrere Buttons Java Basics - Anfänger-Themen 3
S Hilfe bei Buttons Java Basics - Anfänger-Themen 2
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
B Die Hintergrundfarbe eines deaktivierten buttons ändern? Java Basics - Anfänger-Themen 4
SheldoN Töne abspielen auf verschiedenen Buttons Java Basics - Anfänger-Themen 17
J durch drücken eines buttons text in einer textdatei speichern Java Basics - Anfänger-Themen 2
G MouseListener für mehrere Buttons Java Basics - Anfänger-Themen 11
Fab1 Buttons auf ein Hintergrundbild(JFrame) setzen Java Basics - Anfänger-Themen 24
H Methode aufrufen beim Drücken eines Buttons im Boxlayout Java Basics - Anfänger-Themen 6
M Tabelle mit Buttons Java Basics - Anfänger-Themen 24
M Variablen via actionPerformed mit Buttons ändern Java Basics - Anfänger-Themen 7
K Durch ändern eines Buttons String füllen Java Basics - Anfänger-Themen 14
J Buttons Java Basics - Anfänger-Themen 19
G Buttons in ein Array umformen Java Basics - Anfänger-Themen 11
S Buttons übereinander legen - Reihenfolge Java Basics - Anfänger-Themen 2
M Buttons erscheinen erst bei Mouse-Over Java Basics - Anfänger-Themen 8
B Buttons Java Basics - Anfänger-Themen 9
T Buttons (auf denen bilder sind) random vertauschen Java Basics - Anfänger-Themen 11
1 Menü mit Buttons erstellen Java Basics - Anfänger-Themen 10
M Durchsichtige Buttons Java Basics - Anfänger-Themen 12
P OnClickListener für mehrere Buttons Java Basics - Anfänger-Themen 5
U Buttons einfügen (Leiste verschwunden!?) Java Basics - Anfänger-Themen 2
M Gui - Probleme mit Buttons Java Basics - Anfänger-Themen 4
C Swing, Buttons Wert zuweisen Java Basics - Anfänger-Themen 3
E Android: OnClickListener erkennt Buttons nicht Java Basics - Anfänger-Themen 7
E Buttons in Android generieren? Java Basics - Anfänger-Themen 4
D Link over Buttons Java Basics - Anfänger-Themen 4
B Identifikation eines einzelnen Buttons aus mehreren Buttons per Schleife erzeugten Java Basics - Anfänger-Themen 4
Nicer Radio Buttons Gruppe Java Basics - Anfänger-Themen 2
G getControlPanelComponent JMF Buttons verstecken? Java Basics - Anfänger-Themen 7
K Buttons Funktionieren Nicht!!! Java Basics - Anfänger-Themen 8
manunana89 2 ActionListener auf 2 Buttons??? Java Basics - Anfänger-Themen 6
Mike90 verschieben von Buttons, ... Java Basics - Anfänger-Themen 18
F Buttons und Aktionen Java Basics - Anfänger-Themen 20
M dynamisches Clipboard mit Buttons Java Basics - Anfänger-Themen 5
B Calculator - Buttons zusammenfassen Java Basics - Anfänger-Themen 8
0 Buttons mit Absatz Java Basics - Anfänger-Themen 6
B Buttons erstellen! Wie? Java Basics - Anfänger-Themen 2
D Buttons-die Wahrheit über sie Java Basics - Anfänger-Themen 11
G Buttons mit MouseOver Java Basics - Anfänger-Themen 5
M "Selbst erstellte" Buttons nicht sichtbar. Java Basics - Anfänger-Themen 20
Mörmel Variable Anzahl von Buttons erzeugen Java Basics - Anfänger-Themen 6
K Fenster mit Buttons hin und her schieben ? Java Basics - Anfänger-Themen 23
A in jTextField mit Hilfe von Buttons schreiben Java Basics - Anfänger-Themen 2
J Buttons Java Basics - Anfänger-Themen 3
M Buttons auf allen Masken Java Basics - Anfänger-Themen 4
G Alle Buttons in einer For Schleife ändern Java Basics - Anfänger-Themen 5
G Nicht benannte Buttons - Wenn gedrückt > Action Java Basics - Anfänger-Themen 24
T Buttons Resetten Java Basics - Anfänger-Themen 2
G Grafische Oberfläche mit Buttons und Actionlistener? Java Basics - Anfänger-Themen 27
D Buttons gehen trotz enebled(false) Java Basics - Anfänger-Themen 8
P Buttons Java Basics - Anfänger-Themen 6
G Panels und Buttons Java Basics - Anfänger-Themen 5
P Eigenschaften eines Buttons ändern Java Basics - Anfänger-Themen 6
M Buttons Java Basics - Anfänger-Themen 7
N Größe von Buttons Java Basics - Anfänger-Themen 3
D MouseLister und Identifikation des Event - Buttons Java Basics - Anfänger-Themen 4
T ActionListener zu Buttons dynamisch zuordnen Java Basics - Anfänger-Themen 10
F 2 Buttons Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben