Hallo,
ich hab eine Software welche von der Bedienung gefolgt aufgebaut ist:
Einstellungen welche ich unter H11 mache, muss ich auch unter H21 abrufen können (Zustand einer Checkbox, Inhalt eines Textfeldes).
Ich habe bisher den Google Windowbuilder verwendet, der den Code in einer einzigen Datei ablegt. Es sind jetzt über 2000 Zeilen (mit Actionlistener usw). Die Einstellungen lagen dann einfach in Klassenvariablen.
Ich soll nun die Einstellungen speichern (Format ist nicht vorgegeben). Des weiteren möchte ich nun jedes Tab in eine eigene Datei/Klasse auslagern.
Ich dachte an eine Klasse die gefolgt aufgebaut ist:
Dann kann ich in einem Tab über myConfig.set(Config.SAVE_PATH, "c:/..."); Daten speichern und im anderen Tab über myConfig.get(Config.SAVE_PATH) wieder holen.
Gibt es noch elegantere Lösungen? Würde mich sehr dafür interessieren. Auch wie ich am Besten die Werte speicher. Dachte an Reflections (getFields) und dann in einer XML in der Form <Fieldname>Fieldwert</Fieldname> ablegen. Auch hier würden mich alternative Lösungen interessieren.
Hintergrund ist, dass es Dutzende von Einstellungen sind und ich es einfach schön, sauber und nach best practice umsetzen möchte.
ich hab eine Software welche von der Bedienung gefolgt aufgebaut ist:
- 2 Haupt-Tabs (H1, H2), ersteres für die Steuerung und Generierung von Daten das zweite für die Auswertung
- Jedes Haupt-Tab hat 3 Unter-Tabs (H11, H12, H13, H21, ..) mit weiteren, gruppierten Einstellungsmöglichkeiten
Einstellungen welche ich unter H11 mache, muss ich auch unter H21 abrufen können (Zustand einer Checkbox, Inhalt eines Textfeldes).
Ich habe bisher den Google Windowbuilder verwendet, der den Code in einer einzigen Datei ablegt. Es sind jetzt über 2000 Zeilen (mit Actionlistener usw). Die Einstellungen lagen dann einfach in Klassenvariablen.
Ich soll nun die Einstellungen speichern (Format ist nicht vorgegeben). Des weiteren möchte ich nun jedes Tab in eine eigene Datei/Klasse auslagern.
Ich dachte an eine Klasse die gefolgt aufgebaut ist:
Java:
public class Config {
public final String SAVE_PATH = "save path";
public final String CHECKBOX_X = "chb_x";
HashMap<String, Object> values = new HashMap<String, Object>();
public void setData(String name, Object val) {
values.put(name, val);
}
public String getAsString(String name) {
return (String) values.get(name);
}
public boolean getAsBoolean(String name) {
return (Boolean) values.get(name);
}
}
Dann kann ich in einem Tab über myConfig.set(Config.SAVE_PATH, "c:/..."); Daten speichern und im anderen Tab über myConfig.get(Config.SAVE_PATH) wieder holen.
Gibt es noch elegantere Lösungen? Würde mich sehr dafür interessieren. Auch wie ich am Besten die Werte speicher. Dachte an Reflections (getFields) und dann in einer XML in der Form <Fieldname>Fieldwert</Fieldname> ablegen. Auch hier würden mich alternative Lösungen interessieren.
Hintergrund ist, dass es Dutzende von Einstellungen sind und ich es einfach schön, sauber und nach best practice umsetzen möchte.