Swing Organisation & Struktur, die 2.

J

jDennis79

Gast
Es macht mich noch verrückt, dieses Swing. Guter Rat ist teuer, aber vielleicht ist ja von euch jemand spendabel.

Ich habe das "Einsteigerseminar Objektorientierte Programmierung mit Java" durchgearbeitet, und auch "Java von Kopf bis Fuß", den javavideokurs.de seit gestern zweimal. Und ich verstehe alles, was in diesen Quellen gemacht wird, im Sinne von: Ich kann es nachvollziehen.

Nun sitze ich schon zum zweiten Mal vor meiner Projektidee, und trotzdem komme ich nicht weiter. Und ich kann mein Problem nicht einmal richtig beschreiben, schon gar nicht konkrete Punkte nennen, an denen es hakt.

Ich bekomme einfach die Projektstruktur nicht mehr in den Griff, sobald Swing ins Spiel kommt. Theoretisch weiß ich, was zu tun ist - aber dann sitze ich vor meinen Klassen mit der Programmlogik und der Klasse mit der GUI und weiß einfach nicht, wie ich die zusammen bekomme. Welche Klasse gebe ich welcher im Konstruktor mit? Wie verbinde ich die GUI mit den Logik-Klassen? Wie strukturiere ich das Projekt, damit das Programm tut, was es soll, und die GUI anzeigt, was sie soll?

Ich bin einfach komplett überfordert und habe nur noch Fragezeichen vor Augen.

Tutorials erklären die einzelnen Widgets, Bücher sind rar, außerdem von 2001 und erklären laut Amazon-Rezensionen eigentlich auch nur die Widgets en detail. Beispiel-Codes sind entweder so simpel, dass sie mich für mein Projekt nicht weiter bringen, oder so komplex, dass ich auch nicht wirklich durchblicke.

Ich weiß einfach nicht, wo ich ansetzen soll, um einen Zugang zu der Materie zu bekommen.

Ich würde mich freuen, wenn jemand Tipps hätte. Vielleicht doch noch eine passende Tutorial- oder Literaturempfehlung. Irgendwas, was mich weiterbringt, aber nicht gleich komplett überfordert.

Ist schwierig mit diesen Angaben, das ist mir klar - aber wie gesagt, ich kann mein Problem nichtmal wirklich in Worte fassen.

Wie könnte ich von hier aus weiterkommen?
 
V

vanny

Gast
Dein Problem resultiert wahrscheinlich daraus, dass es in SWING kein falsch und somit auch kein richtig gibt. Es führen viele Wege nach Rom.;)

Ich persönlich schnappe mir das Problem, bei dem ich nicht weiter weiss und bastel mir ein kleines Testprojekt, dass nur dieses Problem behandelt.
Dann mache ich das gleiche mind. noch einmal und stelle fest, dass ich immer wieder was optimieren kann.
Danach ist die Umsetzung auf das eigentl. Projekt relativ simpel.

Gruß Vanny
 
A

asdasdasdasd

Gast
Hallo.

Zudem was schon vanny sagte, würde ich klein anfangen. Ich weiß ja jetzt nicht, wie groß dein Projekt ist, aber vielleicht solltest du mit was kleinem Anfangen, wie (wenn es mit Swing sein soll) ein Minimaltaschenrechner mit 2 Textfeldern und zwei Buttons.
Dann fängst du einfach mal an, die View zu erstellen, mit allen Getter und Setter die benötigt werden.
Dann die Logik hinter der View (noch nicht miteinander "verbinden"). Und zu guter Letzt kannst du versuchen die Logik mit der View zu verbinden.
Dann erweiterst du entweder diesen Taschenrechner oder machst etwas größeres und so weiter...
Damit bekommst du erstmal ein Gefühl dafür.
Schau dir nochmal ein Designpattern an wie z.B Model View Controller.

Mfg
 

JavaProfi

Aktives Mitglied
Skizziere doch mal deine Projektidee.
Hier sind genügend gute Java Coder die Dir helfen werden.
Ich vermute, dass dein erstes Projekt ja auch nicht überdimensional groß ist.

Gruß
JP
 
J

jDennis79

Gast
Ich habe mir jetzt nochmal ganz in Ruhe und ohne Computer vor der Nase Gedanken gemacht. Dabei sind eine Idee und drei konkrete Fragen herausgekommen.

Also, das ganze soll ein einfaches Würfelspiel werden. Ich habe eine Klasse für die Würfel, eine Klasse für die Spieler, und eine Klasse für eine Spielpartie, die den Ablauf verwaltet. Dann die Hauptklasse mit der main()-Methode und eine Klasse für die GUI. Meine Idee wäre jetzt, dass ich dem Spielpartie-Objekt bei Erzeugung das GUI-Objekt im Konstruktor mitgebe. Dann hat das Spielpartie-Objekt ja Zugriff auf alle GUI-Elemente.

Konkrete Frage 1: Funktioniert das? Ich kann mir das im Moment noch schwer vorstellen, wegen der ganzen EventListener.

Konkrete Frage 2: Wäre das eine einigermaßen annehmbare Vorgehensweise oder würde das gegen alle möglichen Best Practices verstoßen?

Konkrete Frage 3: In der main()-Methode lasse ich das GUI-Objekt vom EDT erzeugen und anzeigen, per SwingUtilities.invokeLater(). Und alles andere? Erzeuge ich das Spielpartie-Objekt noch in der run()-Methode? Oder erst danach? Eine eventuelle Methode des Spielpartie-Objektes, das den Spielablauf anstößt - in der run()-Methode, oder erst danach? Wie macht man sowas idealerweise?
 

Ähnliche Java Themen


Oben