Optionensysteme schreiben

Status
Nicht offen für weitere Antworten.

Arbon

Bekanntes Mitglied
Hallo.

Ich würde gerne wissen wie man ein gutes Optionensystem schreibt. Gibt es dazu irgendwo Anleitungen?
Ich würde es grundsätzlich so machen:
Die Speicherung der Optionen würde ich zB einfach nach einem bestimmten Schema in eine Datei schreiben und wieder lesen (von Sachen wie Registry halte ich eigendlich nichts. Beeinträchtigt die Portabilität). Dazu kann man grundsätzlich einfach die Properties Klasse von java benutzen.
Zum Zugriff auf die Daten wäre zB eine Singleton Klasse nützlich, über welche man sich Optionen über den jewiligen Schlüssel holen kann. Allerdings weiss ich nicht ob dies so optimal ist.
Und zum Ändern der Optionen würde man eben einen Dialog schreiben, mit Checkboxen, Textfeldern und ähnlichem. Allerdings gestaltet sich das bei zunehmender Anzahl an Optionen ziemlich komplex, falls es Abhänigkeiten zwischen den Optionen o.ä. gibt. Die sofortige Aktualisierung der Optionen bzw. bei Drück auf den Übernehmen button gestaltet sich ebenfalls als schwierig. Hier wäre vl ein Listener oder ein Observer nützlich.

Ich denke allerdings dass mein Ansatz alles andere als gut ist. Deswegen würde ich gerne wissen was ihr davon haltet bzw. wie man das besser angehen könnte. Wie gesagt das System sollte auch bei vielen Optionen nicht allzu komplex oder schmutzig werden.

mfg
 

Atze

Top Contributor
ich würde es statt mit dem simplen "in eine datei schreiben" mit serialierung von objekten versuchen. ist zwar from prinzip das gleiche, also der zustand eines objektes wird in eine datei geschrieben, aber du hast dann durch die deserialisrung leichteren zugriff auf die objekte.
 

diggaa1984

Top Contributor
hi,

also ich bin gerade dabei die Settings für ein Syntaxhighlighting im Editor zu speichern. Das ganze soll natürlich nach Neustart des Programmes auch wieder hergestellt werden können.

Erster Ansatz war dabei die Propertie-Klasse zu nutzen und das ganze als *.properties abzulegen. Allerdings sehe ich keine Notwendigkeit dieser expliziten Datei im user-ordner. Als weitere Alternative les ich immer öfter "Preferences" .. dort können ebenfalls Eigenschaften abgelegt werden, wobei dir als Programmierer die Frage "wie mach ich es persitent" abgenommen wird. Die interne Datenhaltung wird nicht explizit in der Api dieser Klasse erklärt, aber das brauchst du auch gar nicht um damit zu arbeiten.
Du kannst Eigenschaften definieren welche zB von jeder klasse in einem bestimmten package greifbar sind.

Ich bin auch gerade dabei diese Ansatz zu nutzen und find ihn auch recht handlich. Man kann dabei auch unterscheiden zwischen user-eigenschaften oder system-eigenschaften.

Kannst dir ja mal anschaun: Preferences

Serialisierung sollte man nicht dazu nutzen, zumal hier wesentlich mehr Infos abgelegt werden als überhaupt nötig. Ausserdem hast du dann Probleme, wenn du die Klasse einmal änderst. Im schlimmsten Fall lässt sich die serialisierte Datei nicht mehr laden.
 
Zuletzt bearbeitet:

eRaaaa

Top Contributor
Die interne Datenhaltung wird nicht explizit in der Api dieser Klasse erklärt, aber das brauchst du auch gar nicht um damit zu arbeiten.



http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter10/Preferences.html hat gesagt.:
Where is the Preferences Data Really Stored?

The actual storage of preferences information is implementation dependent. We programmers don't need to know where the data is stored, as long as the Preferences API always works the same on all platforms, which it does. The important thing to know is that the data really is stored persistently somewhere.

Nevertheless, the curious might want to know where the data is really stored. In practice, the Sun J2SE implementation on Windows platforms utilizes the Windows Registry as can be verified by examining the registry.

On Solaris and Linux, the user node is normally stored in a hidden file in the user's home directory. Other implementations might use directory servers or SQL databases. It really is implementation dependent. And it really is unimportant.

interessant ^^
 

sliwalker

Top Contributor
Also beide Ideen haben was. Es fehlt nur leider die wichtigeste Informationen.
Was für Optionen brauchst Du? Brauchst Du wahlfreien Zugriff oder musst Du ein Objekt einlesen/erzeugen um es im Programm zu verwenden. Laufzeitverhalten? Schlüssel->Wert-Paare? String reicht Dir als Wert? Oder musst Du vielleicht ByteArrays speichern?

Du siehst, beide Ideen haben ihren Sinn. Die Frage ist was Du brauchst.
 
T

tuxedo

Gast
Naja, der UserPreferenceStore eignet sich hier doch bestens... Man kann sogut wie alles drin speichern, hat eine schicke "Properties"-like Schnittstelle und das ganze ist noch Platform-Unabhängig.

Wozu also das Rad neu erfinden?

- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Per Java Word Dokument schreiben? Allgemeine Java-Themen 8
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
G Eingegebenen Text wiederholt schreiben lassen Allgemeine Java-Themen 9
G JavaFX Robot alle Unicode-Zeichen schreiben lassen können Allgemeine Java-Themen 12
curranux Ausgabe als Textdatei schreiben. Allgemeine Java-Themen 2
B Wie kann ich mein 8 Klassen Gebilde objektorientierter schreiben? Allgemeine Java-Themen 114
Y Wie sinnvolle unit tests schreiben Allgemeine Java-Themen 29
O Test schreiben mit Äquivalenzklassen (Aufgabe Prüfung) Allgemeine Java-Themen 9
J Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
H In jar Resources schreiben? Allgemeine Java-Themen 6
O Wie kann ich in Apache POI (Excel Dateien schreiben) Datumszellen in Excel erzeugen Allgemeine Java-Themen 6
Zrebna Wieviele Testfälle muss man hier schreiben? (Software Engineering) Allgemeine Java-Themen 13
B .txt Datei erstellen und auslesen bzw. schreiben Allgemeine Java-Themen 6
S File lesen und schreiben Java 6 Allgemeine Java-Themen 2
L Erste Schritte Ausdruck schöner schreiben? Allgemeine Java-Themen 8
G Excel File öffnen, in Zelle schreiben, abspeichern Allgemeine Java-Themen 6
S Kann ich eine Methode schreiben die alle Arten von funktionalen Interfaces akzeptiert..? Allgemeine Java-Themen 21
ralfb1105 Blöcke aus Datei filtern/suchen und in neue Datei schreiben Allgemeine Java-Themen 10
D HTTP Http-Link mittels GUI schreiben Allgemeine Java-Themen 5
M In Textdatei schreiben Allgemeine Java-Themen 3
S Input/Output Beste Möglichkeit einen String in einen Datei zu Schreiben Allgemeine Java-Themen 2
Aruetiise " in Datei schreiben Allgemeine Java-Themen 2
D Möglichkeit mit GAE eine Table auszulesen und eine csv zu schreiben Allgemeine Java-Themen 22
K Zusammenfassungen schreiben Allgemeine Java-Themen 2
OnDemand Desktop-Applikation schreiben, wie daten persistent? Allgemeine Java-Themen 9
KeVoZ_ Nacheinander folgende Strings in Textdokument auf neue Zeile schreiben Allgemeine Java-Themen 6
MiMa Log4j in Dateien mit eigenem Namen schreiben Allgemeine Java-Themen 3
A 2D-Grafik Text in ein Bild schreiben Allgemeine Java-Themen 11
M Makrocode von OO in Java schreiben Allgemeine Java-Themen 5
B Animierte Klasse schreiben - Wie? Allgemeine Java-Themen 9
X NetBeans Bilder und andere Dateien ins .jar schreiben und wieder aus .jar lesen Allgemeine Java-Themen 6
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
R Signatur von Methoden in eine Datei schreiben? Allgemeine Java-Themen 4
F Fehler in Zeile in Log schreiben Allgemeine Java-Themen 6
F Lesen effizienter als schreiben? Allgemeine Java-Themen 4
H jid3lib nach schreiben keine Tags im Folder angezeigt Allgemeine Java-Themen 1
Z NullPointerException beim Schreiben einer ArrayList in eine Datei Allgemeine Java-Themen 6
B Fortschritt beim Schreiben einer Datei ausgeben lassen Allgemeine Java-Themen 7
F Wert in Variable schreiben, wenn diese gerade genutzt wird Allgemeine Java-Themen 10
U Tiefe Objekte schreiben Allgemeine Java-Themen 1
M Input/Output Datei Schreiben Allgemeine Java-Themen 3
V Eclipse Ich kann bei eclipse nicht schreiben Allgemeine Java-Themen 1
Tobse HTTP REST API's in SQL schreiben Allgemeine Java-Themen 1
B Übergebene Werte in Gerätedatei schreiben Allgemeine Java-Themen 2
2 String Array in Datei schreiben und wieder davon lesen Allgemeine Java-Themen 2
M Methoden jRegistryKey und in die Regitrey schreiben Allgemeine Java-Themen 5
M Text in erstelltes Excelfile schreiben Allgemeine Java-Themen 6
A In Excel-Datei schreiben, Formeln der Mappe anwenden, Wert lesen Allgemeine Java-Themen 3
F Linux & NetBeans: Datei in Systemverzeichnis schreiben? Allgemeine Java-Themen 1
A Input/Output Spätes Schreiben von Dateien der JVM Allgemeine Java-Themen 3
T Input/Output Daten in eine Datei schreiben Allgemeine Java-Themen 4
E wav Datei schreiben mit AudioInputStream Allgemeine Java-Themen 3
T Excel - mit jxf sprachabhängige Formeln schreiben Allgemeine Java-Themen 2
S Java-Programm für "Börsenanalyse" schreiben Allgemeine Java-Themen 4
W Schreiben/Lesen aus RS232 / jssc Allgemeine Java-Themen 0
B Text in die Mitte der Konsole schreiben. Allgemeine Java-Themen 1
L Input/Output Datei einlesen und Inhalt in Array schreiben Allgemeine Java-Themen 3
D Datei in Jar schreiben Allgemeine Java-Themen 5
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
MiMa Liste von Pfaden in eine textArea schreiben Allgemeine Java-Themen 7
O Entwicklungshandbuch schreiben Allgemeine Java-Themen 2
S Swing Text in eine JTextArea schreiben Allgemeine Java-Themen 17
O Collections StringSplit und in anderen String schreiben Allgemeine Java-Themen 8
Iron Monkey Inhalt von JTable in die Textdatei mit StringWidth schreiben Allgemeine Java-Themen 3
M Symmetrischen "KeyGenerator" schreiben Allgemeine Java-Themen 2
B Großes Projekt "gut" schreiben Allgemeine Java-Themen 22
F Sachen in datei schreiben Allgemeine Java-Themen 2
G Binäre Datei lesen / schreiben Allgemeine Java-Themen 9
M ImageJ: Mit PlugIn Weichzeichnungsfilter schreiben Allgemeine Java-Themen 9
S Threads Abarbeitungsstatus von Threads in Datei schreiben Allgemeine Java-Themen 2
A DOM Datei schreiben Allgemeine Java-Themen 3
F In ein Textfeld im Browser schreiben? Allgemeine Java-Themen 4
Chumax Datei als Admin schreiben Allgemeine Java-Themen 5
S Von einer ArrayList in die andere schreiben? Allgemeine Java-Themen 6
I Eigenes Mail-Programm schreiben Allgemeine Java-Themen 21
S eigene regEx schreiben Allgemeine Java-Themen 4
E Performanceverlust beim Schreiben von ResultSet in txt Datei Allgemeine Java-Themen 10
F In mitten einer Textdatei schreiben Allgemeine Java-Themen 7
B Java Plugin schreiben Allgemeine Java-Themen 11
R Datei zeilenweise lesen und schreiben Allgemeine Java-Themen 6
D Java Excel API - Schreiben in Excel lässt sich nicht über Makro starten Allgemeine Java-Themen 18
S Runtime Exceptions in eine Datei schreiben Allgemeine Java-Themen 7
S Exception beim Schreiben des Dataset in XML Datei Allgemeine Java-Themen 8
B OOP java.util.logging.Logger: Wie kann ich mehre Klassen in ein Logfile schreiben lassen? Allgemeine Java-Themen 12
I kleines Wochenlohn-Programm schreiben Allgemeine Java-Themen 5
M Problem beim schreiben einer eigene generische Klasse Hashtable Allgemeine Java-Themen 11
C Eigene Sounddateien schreiben Allgemeine Java-Themen 12
das-mo FunktionsParser schreiben Allgemeine Java-Themen 32
M Problem beim schreiben einer eigene generische Klasse LinkedList Allgemeine Java-Themen 34
J HSSF - schreiben in und lesen aus vorhandener Datei Allgemeine Java-Themen 6
E BlueJ Daten in Textdatei schreiben Allgemeine Java-Themen 21
C Property-File lesen und schreiben Allgemeine Java-Themen 20
M Binäre Datei schreiben und lesen Allgemeine Java-Themen 4
T Properties Datei nicht jedes mal neu schreiben? Allgemeine Java-Themen 2
H excel einlesen und in db schreiben Allgemeine Java-Themen 2
cedi int Zahl in ein ASCII zeichen umwandeln und dieses in ein externes Textfenster schreiben Allgemeine Java-Themen 6
kirchrath PCM als WAV schreiben bzw ogg-Vorbis zu WAV Allgemeine Java-Themen 2
D Mehrere String-Werte in eine Tabellen-Zelle schreiben Allgemeine Java-Themen 8
A Eigenen OutputStream schreiben und verwenden Allgemeine Java-Themen 9
D zip Dateien schreiben mit in/outputstream Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben