Hallo
Ich habe bei der Konzeption eines Java Programmes ein Problem. Ich bin Umsteiger von Pascal mit Lazarus IDE. Der Unterschied ist tatsächlich größer als ich gedacht habe (was grundsärtlich nichts negatives ist).
Ich verzweifele jedoch bei dem Versuch ein Java Programm zu schreiben, welches, sehr vereinfacht, den Nutzer eingaben tätigen lässt und diese wieder anzeigt. Als GUI wollte ich Swing verwenden (ist zwar wohl etwas veraltet, doch reicht es bestimmt für ein paar Tabellen und Buttons). Jetzt wird es für mich jetzt etwas undurchsichtig. Ich habe zwei Baustellen. Eine ist das Speichern von Daten, die andere ist die GUI. Sind ja auch offensichtlich die schwierigsten Dinge an dem Programm (welches ich unter Pascal übrigens am laufen habe, will es jedoch nochmal unter Java schreiben und das backend dasnn für eine Android App übernehmen).
Naja, kommen wir zum ersten Problem:
Der Nutzer soll in dem Programm unendlich viele Felder und Tiere einspeichen können. Kann man in Java ja prinzipiell ganz schön als Objekt machen. Dieses Objekt wird als Atribute mehrere Strings, Integer und Lists haben.
Wie kann ich alle diese Dinge am besten in einer ArrayList (?) verpacken, so dass ich diese dann einfach nurnoch als .txt oder .bin oder sonstwas abspeichern muss? Oder bin ich komplett auf dem Holzweg und das geht auch besser? Problem bei der Variante ist ja, dass man für jedes Objekt eine Datei hat.
Meine zweite Baustelle ist die Frage, wie ich das überhaupt umsetzen kann. Ich brauche ja die Hauptklasse mit der Mainmethode, dann eine Klasse Felder und eine Tiere, diese erben ggf. von einer gemeinsamen Superclass (vielleicht bringt Polymorphie mir was) und dann eben die GUI. Da ich mehrere Frames habe, soll ich für jedes Frame eine neue Klasse machen, da die alle komplett anders sind? Und müssen diese nicht auch mit den anderen Klassen verknüft sein (erben? geht ja nichtmerh...)
Wie man warscheinlich merkt weiß ich aktuell nicht so richtig, was ich machen soll.
Ich freue mich über jede Anregung und bedanke mich im vorraus
LG.
Ich habe bei der Konzeption eines Java Programmes ein Problem. Ich bin Umsteiger von Pascal mit Lazarus IDE. Der Unterschied ist tatsächlich größer als ich gedacht habe (was grundsärtlich nichts negatives ist).
Ich verzweifele jedoch bei dem Versuch ein Java Programm zu schreiben, welches, sehr vereinfacht, den Nutzer eingaben tätigen lässt und diese wieder anzeigt. Als GUI wollte ich Swing verwenden (ist zwar wohl etwas veraltet, doch reicht es bestimmt für ein paar Tabellen und Buttons). Jetzt wird es für mich jetzt etwas undurchsichtig. Ich habe zwei Baustellen. Eine ist das Speichern von Daten, die andere ist die GUI. Sind ja auch offensichtlich die schwierigsten Dinge an dem Programm (welches ich unter Pascal übrigens am laufen habe, will es jedoch nochmal unter Java schreiben und das backend dasnn für eine Android App übernehmen).
Naja, kommen wir zum ersten Problem:
Der Nutzer soll in dem Programm unendlich viele Felder und Tiere einspeichen können. Kann man in Java ja prinzipiell ganz schön als Objekt machen. Dieses Objekt wird als Atribute mehrere Strings, Integer und Lists haben.
Wie kann ich alle diese Dinge am besten in einer ArrayList (?) verpacken, so dass ich diese dann einfach nurnoch als .txt oder .bin oder sonstwas abspeichern muss? Oder bin ich komplett auf dem Holzweg und das geht auch besser? Problem bei der Variante ist ja, dass man für jedes Objekt eine Datei hat.
Meine zweite Baustelle ist die Frage, wie ich das überhaupt umsetzen kann. Ich brauche ja die Hauptklasse mit der Mainmethode, dann eine Klasse Felder und eine Tiere, diese erben ggf. von einer gemeinsamen Superclass (vielleicht bringt Polymorphie mir was) und dann eben die GUI. Da ich mehrere Frames habe, soll ich für jedes Frame eine neue Klasse machen, da die alle komplett anders sind? Und müssen diese nicht auch mit den anderen Klassen verknüft sein (erben? geht ja nichtmerh...)
Wie man warscheinlich merkt weiß ich aktuell nicht so richtig, was ich machen soll.
Ich freue mich über jede Anregung und bedanke mich im vorraus
LG.