# Blackjack in eine GUI übertragen



## Kilinat (16. Jun 2010)

Hallo Forum 

Ich habe ein fertiges Blackjack Spiel mit 3 Klassen programmiert. Alles in BlueJ, und nun meine Frage. Könnt ihr mir Tipps geben wie ich jetzt dafür eine GUI programmiere. Bzw, habt ihr ein Tutorial wo das gut erklärt ist ? Finde im Forum nicht wirklich was...

MfG Flo


----------



## Gast2 (16. Jun 2010)

Ja überleg dir wie es aussehen soll. Erstell dafür GUI-Klassen für Tisch, Spieler, Karten usw. Und schau dir das Swing Tutorial an oder hier im Forum das Zeichnen...


----------



## Kilinat (17. Jun 2010)

Was genau sind GUI-Klassen ?

Hatte mir vorgestellt keinen eigenen Tisch zu machen, sondern so in etwa wie Hearts, dass schon auf dem PC drauf ist. Zudem bräuchte ich nur eine Grüne GUI mit 2 Plätzen ( Spieler, Dealer ) . Es soll ja der Spieler nur gegen den Dealer spielen. Und auf jedem Spielerplatz ca. 5 Felder, wo nacheinander die Karten aufgelistet werden, die gezogen werden.


----------



## diggaa1984 (17. Jun 2010)

hm na im prinzip musst du ja die GUI selbst programmieren, also auch deinen Tisch so gesehen. Auch wenn dieser nur ein Panel mit grünem Hintergrund sein sollte. Es geht darum die Klassen und Aufgaben entsprechend zu trennen, damit du später genau weisst, wo welche Änderungen zu machen sind, wenn du deinen Tisch mal auswechseln möchtest .. nur mal als Beispiel genannt.

Die Vorschläge von Klassen von SirWayne solltest du schon annehmen, das hat ja nix mit zusätzlichem Aufwand zu tun sondern lediglich mit ner ordentlichen Struktur an Klassen, da dein Programm somit eine gewisse Komplexität erreicht, die ohne Struktur nur schwer zu handlen ist.


----------



## Kilinat (17. Jun 2010)

Jap okay, aber was genau sind jetzt GUI-Klassen?

Ich hab ja schon eine Klasse "Karte", eine Klasse "Input" ( die nicht mehr benötigt wird, da die nur für die Konsole war..z.B  Methode: readInt() .. ), und eine Klasse "Blackjack", wo der Algorythmus und die Methoden  die dafür benötigt werden drinen sind.

Nun, wo schreib ich jetzt meine GUI ? Da ich das ja mit BlueJ geschrieben habe, kann ich ja dort eigentlich auch nichts mehr anfangen und müsste zu Eclipse rüber oder ?


----------



## Gast2 (17. Jun 2010)

Was hat die IDE mit deinem Programm zu tun?? Du kannst das in Eclipse, Netbeans BlueJ oder sogar in einem normalen TextEditor schreiben. Wenn du noch nie was mit GUI gemacht hast solltest du hier dir mal ein GUI Element anschauen Lesson: Using Swing Components (The Java™ Tutorials > Creating a GUI With JFC/Swing)!!! Danach gibt es hier in der FAQ ein Tutorial ein wie man selber zeichnet(für deine Karten interessant). GUI Klassen sind einfach Klassen die GUI Elemente ohne Logik enthalten.


----------



## Kilinat (17. Jun 2010)

Schreiben kann ichs schon in BlueJ, ausführen auch, aber Grafik unterstützt das glaub ich nicht.

Okay danke dir mal für den Tutorial Link - Also einfach neue Klassen nur für die GUI erstellen?


----------



## Michael... (17. Jun 2010)

Kilinat hat gesagt.:


> Schreiben kann ichs schon in BlueJ, ausführen auch, aber Grafik unterstützt das glaub ich nicht.


??Muss es auch nicht?? Solange es Standard Java Code kompilieren und ausführen kann, kann man damit auch graphische Oberflächen programmieren und anzeigen lassen.

Es gab mal Zeiten, da hat man mit einfachsten Texteditoren (ohne Syntaxhighlighting und so 'nen Schnickschnack) und manuellen Komplilieren hoch komplexe Java Applikationen inkl. GUI entwickelt ;-)


----------



## Kilinat (17. Jun 2010)

Schon klar, aber BlueJ ist nur eine IDE speziell für Klassen. Du kannst damit Objekte erstellen und dann die einzelnen Methoden ausprobieren. So ist auch mein Blackjack Algorithmus in der Klasse "Blackjack". Ich hab also kein Main Programm. Und deswegen kann hier auch nichts ausgeführt werden.


----------



## Michael... (17. Jun 2010)

Kilinat hat gesagt.:


> Schon klar, aber BlueJ ist nur eine IDE speziell für Klassen.


Mit anderen IDEs macht man auch nichts anderes als Klassen und deren Methoden zu implementieren.

Kannst Du in Deine Klassen, Klassen aus dem javax.swing.* Package importieren?


----------



## Kilinat (17. Jun 2010)

Jap funktioniert 

Also kann ich einfach jetzt eine eigene Karten, Tisch und Spieler GUI Klasse schreiben ?


----------



## Michael... (17. Jun 2010)

Füge mal folgende Zeilen bei Dir ein (z.B. in einen Konstruktor einer Deiner Klassen)
Wenn der Code dann ausgeführt ist, öffnet sich ein Fenster - die Basis einer GUI

```
JFrame frame = new JFrame("Black Jack");
frame.setBounds(0, 0, 200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
```

Als Einstieg zur GUI Programmierung gibt's hier ein paar Kapitel:JavaInsel#Grafische Oberflächen mit Swing
Wenn Du dann damit etwas Erfahrung gesammelt hast, kann man dann auch mit selbstgeschriebenen graphischen Komponenten weitermachen - worauf es bei einer GUI für Black Jack vermutlich rauslaufen wird.


----------



## Kilinat (17. Jun 2010)

Woou, es funktioniert ja wirklich  Danke dir  

Thema erstmal erledigt 

MfG


----------

