Java Projekt aufbau

Toaster

Mitglied
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.
 

Jardcore

Top Contributor
Erste Baustelle, du kannst dir eine ArrayList vom Typ Tier erstellen
Java:
List<Tier> tiere = new ArrayList<>();
Deine Tier Klasse kann die toString() Methode überschreiben, so das du dort die Textrepräsentation deine Objekt übernehmen kannst. Mithilfe einer Iteration über alle Tiere kannst du dann die einzelnen Tiere mit ihrere Repräsentation in eine Datei abspeichern.
Java:
for(Tier tier : tiere) {
    // write(tier.toString());
}

(vielleicht bringt Polymorphie mir was)
Polymorphie wird in Java so nicht unterstützt.

Vererbung brauchst du nur, wenn du wirklich das komplette Verhalten einer Klasse erben willst.
Wenn du nun ein paar Frames hast, die immer die selbe Größe haben und vllt Zugriff auf irgendein Hauptfenster, kannst du für sowas natürlich die Vererbung nutzen.

Allgemein solltest du deine GUI von deiner Logik und deinen Daten trennen, Stichwort: MVC (Model View Controller)
 

dayaftereh

Top Contributor
Deine Daten würde ich als Json abspeichern. Das schreiben und lesen der Logik bekommst du von Java geschenkt. Zudem kannst du Json einfach mit einem Texteditor bearbeiten....
 

Toaster

Mitglied
Erste Baustelle, du kannst dir eine ArrayList vom Typ Tier erstellen
Java:
List<Tier> tiere = new ArrayList<>();
Deine Tier Klasse kann die toString() Methode überschreiben, so das du dort die Textrepräsentation deine Objekt übernehmen kannst. Mithilfe einer Iteration über alle Tiere kannst du dann die einzelnen Tiere mit ihrere Repräsentation in eine Datei abspeichern.
Java:
for(Tier tier : tiere) {
    // write(tier.toString());
}
Ok, danke. So ähnlich habe ich mir das gedacht. Alle in eins kann jedoch auch absolutes Chaos machen, ich glaube ich trenne schonmal am besten alles was lebt und was nicht lebt in 2 Dateien.
Polymorphie wird in Java so nicht unterstützt.
Ich könnte doch theoretisch (ja, mache ich nicht), die Objekte der Klasse Tier und der Klasse Felder in der abstracten Klasse Dinge speichern? Sowas habe ich gemeint, um die Objekte einfacher in die ArrayList zu bekommen...

Vererbung brauchst du nur, wenn du wirklich das komplette Verhalten einer Klasse erben willst.
Wenn du nun ein paar Frames hast, die immer die selbe Größe haben und vllt Zugriff auf irgendein Hauptfenster, kannst du für sowas natürlich die Vererbung nutzen.

Meine Frames sind alle sehr unterschiedlich. Also macht es Sinn, für jeden Frame eine eigene Klasse zu machen? Die Listener würde ich priavate innerhalb der Klassen deklarieren und diese könnten dann ja andere Methoden aufrufen, die was auch immer machen. Wäre das ein sinnvoller Aufbau?

Allgemein solltest du deine GUI von deiner Logik und deinen Daten trennen, Stichwort: MVC (Model View Controller)
Da ich das backend noch für eine App nutzen will ist das eine Notwendigkeit.

Danke für die Antwort :D
 

Saheeda

Top Contributor
Polymorphie wird in Java so nicht unterstützt.

Was meinst du damit?

Ich hab von Pascal keine Ahnung, fand aber dies:

Dazu gehört auch das ein Objekt das von einem anderen abgeleitet ist, die geerbte Methode überschreiben kann und durch seine eigene ersetzen, aber im Bedarfsfall doch noch die des Vaters aufrufen kann.

Klingt für mich im ersten Moment nicht wesentlich anders, als in Java.
 

Jardcore

Top Contributor
Polymorphie wird in Java so nicht unterstützt.
Hab es mit Mehrfachvererbung verwechselt. Also du kannst schon eine Hierarchie abbilden.

Ok, danke. So ähnlich habe ich mir das gedacht. Alle in eins kann jedoch auch absolutes Chaos machen, ich glaube ich trenne schonmal am besten alles was lebt und was nicht lebt in 2 Dateien.
Hast du Zombie-Tiere? Sonst würde ich mit einem Status arbeiten, also Tier.isAlive(), Tier.isDead()

Meine Frames sind alle sehr unterschiedlich. Also macht es Sinn, für jeden Frame eine eigene Klasse zu machen?
Es ergibt auf jeden Fall mehr sinn als nur eine Klasse für alles zu machen :p
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
A Hilfe bei Java Projekt Java Basics - Anfänger-Themen 4
K Java Projekt Hilfe Java Basics - Anfänger-Themen 5
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
R Java-Projekt im FTP hochladen Java Basics - Anfänger-Themen 6
H java erstes projekt Java Basics - Anfänger-Themen 502
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
H Ist Java überhaupt die richtige Sprache für das Projekt? Java Basics - Anfänger-Themen 8
C java Projekt mit Xuggler exportieren Java Basics - Anfänger-Themen 9
M Erste Schritte Heruntergeladenes Java Projekt lauffähig kriegen Java Basics - Anfänger-Themen 1
A Java Projekt Java Basics - Anfänger-Themen 1
1 Im Java Projekt eine txt datei einbinden? Java Basics - Anfänger-Themen 8
M Bekomm altes Uni-Projekt in java nicht mehr zum laufen Java Basics - Anfänger-Themen 7
J Schule Java Projekt Java Basics - Anfänger-Themen 8
M Maven Dependency im Java Projekt Java Basics - Anfänger-Themen 1
X Projekt Java Anfänger Java Basics - Anfänger-Themen 28
T mein erstes Java projekt Java Basics - Anfänger-Themen 8
N Input/Output Exportieren Java Projekt Java Basics - Anfänger-Themen 6
D McDonalds - Java Projekt frage Java Basics - Anfänger-Themen 7
G Problem: Java Projekt als ausführbare Jar Exportieren (Eclipse) Java Basics - Anfänger-Themen 10
V Kann kein Java Projekt mehr mit Eclipse erstellen Java Basics - Anfänger-Themen 5
K Java Projekt als ausführbare Jar Exportieren (Eclipse) Problem Java Basics - Anfänger-Themen 24
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
T Java Projekt als runnable jar file exportieren inklusive csv Dateien Java Basics - Anfänger-Themen 4
J Java-Projekt kompilieren Java Basics - Anfänger-Themen 5
R Java-Anfänger-Projekt-Begleiter gesucht Java Basics - Anfänger-Themen 18
C Wie lange dauert ein Projekt in Java? Java Basics - Anfänger-Themen 10
M Java-Projekt in JAR umwandeln und Datenbankzugriff Java Basics - Anfänger-Themen 10
C OOP Java Projekt Bankautomat input fehler Java Basics - Anfänger-Themen 14
N Aufrufen von .java Klassen in einem Projekt Java Basics - Anfänger-Themen 2
T Größeres Java Projekt Java Basics - Anfänger-Themen 12
Spin Konto (großes Projekt für anfänger in Java ^^) Java Basics - Anfänger-Themen 7
A Vorgehensweise bei einem Java Projekt Java Basics - Anfänger-Themen 3
schroedi Wie startet man eine JAVA EE Projekt Java Basics - Anfänger-Themen 22
J Java alle Deprecated Methoden im Projekt ermitteln Java Basics - Anfänger-Themen 8
G Projekt über Java möglich? Java Basics - Anfänger-Themen 9
H Java Projekt in Jbuilder05 Java Basics - Anfänger-Themen 4
G Wie finde ich das Verzeichnis von meinen Java Projekt? Java Basics - Anfänger-Themen 7
L ausführbare datei aus java-projekt? Java Basics - Anfänger-Themen 6
G Problem bei JAVA Projekt! Java Basics - Anfänger-Themen 6
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
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
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben