GUI Layouts

Genetik

Mitglied
Hey, ich habe ein BlackJack Spiel programmiert, wollte dies nun zu einem grafischen Spiel entwickeln da es zur Zeit nur über die Konsole funktioniert.

Hab also zunächst ein Package erstellt für die GUI dann eine Klasse mit der main Methode erstellt die ein JFrame erzeugt und dann eine Instanz der Klasse Board welche das gesamte Spielbrett darstellen soll und dort mit dem GridBagLayout ein Layout erstellt, welches ein Platz für das Spielfeld (3/4 der Fläche) und ein Platz für den Einsatz (1/4 der Fläche) bereitstellt. Dies funktioniert schon jedoch, verstehe ich nicht ganz wie ich nun ein Spielerfeld und ein Dealerfeld auf dem Spielfeld erstelle das die Karten jeweils gegenüber am Rand liegen sprich oben und unten. Und ist es sinnvoller die Karten selber zu zeichnen oder mit Java Funktionen die Karten zeichnen zu lassen?

Alle erstellten Klassen sind Unterstrichen und jede Klasse bis auf die Klasse mit der main Methode erben von der Klasse JPanel.

Mit freundlichen Grüßen
Genetik
 

Javinner

Top Contributor
Mit Swing kann man echt schöne Oberflächen zaubern, da ist der künstlerischer Freiheit kaum Grenzen gesetzt.
Ich würde meine Board-Klasse von JPanel erben lassen. Als Layout hätte ich null gesetzt, das ermöglicht einem eine freie Platzierung der Elemente im Panel. Was die Vorgehensweise beim Zeichnen betrifft, so gibt es da mehrere Wege, welche wiederum davon abhängen, wie man dies und das macht. BufferedImage ist dein Freund.. Aber auch hier wird es ohne Grundlagen nicht leicht
 

Genetik

Mitglied
Wenn ich aber das Board ohne Layout setze müsste ich nicht dann das Spielfeld sowie den Einsatz anders anordnen? Wenn ja könntest du mir da evtl nen Denkanstoß geben oder ein Stichwort? Und welches Layout verwende ich dann um die Karten richtig anzuordnen war der Ansatz mit GridBagLayout richtig?
 

Javinner

Top Contributor
@Genetik
Wenn du das Layout "null" setzt, dann darfst du frei entscheiden und erschaffen. Das willst du doch, oder?
Als Beispiel: wenn deine Board-Klasse von JPanel erbt, dann kannst dieser Komponente wie "Hintergrund", "Jocker", "Deine Hand" usw hinzufügen und darüber entscheiden, wo was wie platziert sein soll.
Deine Hand könnte eine eigene Klasse sein, welche all die Elemente (Karten) in einer Liste aufbewahrt und je nach Blatt von der Board-Klasse auf dem Bildschirm ausgegeben wird. Hier ist vieles möglich, sprich die Kartenanordnung als Liste oder Fächer, die Position im Raum, ein kleines HUD, welches dein aktuelles Guthaben oder ähnlich aktualisiert ausgibt. Animationen und Effekte, also das Verschwinden oder das Erscheinen der Karten, Gifs, Video, Musik, alles sowas. Ein fester Layout steht zumindest der freien Elementenverteilung im Wege, wie ich finde
 

Genetik

Mitglied
Okay danke für die ausführliche Antwort hab das noch gar nicht gewusst und schon gar nicht ausprobiert aber werd mich mal darüber schlau machen, vielen Dank :)
 

Ähnliche Java Themen

Neue Themen


Oben