L
Louis2
Gast
Ich habe mir zum Thema "Properties" einige Seiten im Netz angeschaut und auch hier im Forum jedoch verstehe ich es nicht richtig wie ich automatisch zur Laufzeit die Sprache anhand der Dateien ändern kann.
Ich habe 3 Properties Dateien erzeugt (LabelsBundle.properties - Default, LabelsBundle_de.properties und LabelsBundle_fr.properties) z.B.
Nun habe ich auch in meinem Frame Labels definiert und eine ComboBox z.B.
Die initComponents() wird dann bei starten geladen.
So nun mein Problem besteht darin, beim Aufrufen eines Elements der ComboBox müssen sich die Labels usw... ändern entsprechend was in der Properties Datei steht. Wie geht das, wie kann ich zuweisen welche Variable im Programm anhand welches Key aus der Datei geändert werden muss? Die Datei muss ich mir schonmal holen aber dann? Ich raff es net...
Ich habe 3 Properties Dateien erzeugt (LabelsBundle.properties - Default, LabelsBundle_de.properties und LabelsBundle_fr.properties) z.B.
Code:
# blablabla
Label_Firstname = Firstname
Label_Surname = Surname
Nun habe ich auch in meinem Frame Labels definiert und eine ComboBox z.B.
Code:
private void initComponents()
{
JLabel Label_Vorname = new JLabel();
Label_Vorname.setText("Vorname");
JLabel Label_Nachname = new JLabel();
Label_Nachname.setText("Name");
JComboBox combo = new JComboBox();
combo.setModel(new DefaultComboBoxModel(new String[] { "de", "fr" }));
}
Die initComponents() wird dann bei starten geladen.
So nun mein Problem besteht darin, beim Aufrufen eines Elements der ComboBox müssen sich die Labels usw... ändern entsprechend was in der Properties Datei steht. Wie geht das, wie kann ich zuweisen welche Variable im Programm anhand welches Key aus der Datei geändert werden muss? Die Datei muss ich mir schonmal holen aber dann? Ich raff es net...
Code:
String path = this.getApplicationPath();
String pathnew = path.replace("\\","/");
.
.
String choice = (String) combo.getSelectedItem();
File prop = new File(pathnew/LabelsBundle_"+choice+".properties");
try {
properties.load(new FileInputStream(prop));
}
catch (IOException e) {
}