Um es gleich im Vorfeld abzuklären: Bin noch ein ziemlicher Frischling in der OOP, also bitte gern auf Fehler hinweisen, ich lerne gern.
zum Thema: Ich bin gerade an einem Projekt, ein Kartenspiel zu basteln.Hänge nur ein bisschen bei der Visualisierung. (Siehe unten)
Ich habe nur mit den Kartencontainern meine liebe Mühe. Wird nämlich eine Karte ausgespielt, soll sie logischerweise aus der Hand des spieler entfern werden und auf dem Spielfeld abgelegt werden.
Dazu wird das Kartenobjekt(erbt von JPanel) aus den Handkarten des Spielers entfernt und in einen anderen Vector gesteckt.
Dann soll der KartenContainer sich wieder neu aufbauen. Tut er aber nicht wirklich. Die Methode die ich verwende ist die reconstruct().
Eigentlich sollten meines Verständnisses nach keine Löcher im Layout bleiben, tun sie aber leider doch (siehe Screen).
Kann mir da jemand auf die Sprünge helfen?
Zudem fällt vielleicht auf, dass die Karte ziemlich ungünstig auf der Spielfläche plaziert ist.
Hab es mit einem BorderLayout versucht und die Karte eben WEST abgelegt, scheint er aber auch nicht wirklich zu mögen.
Vielen Dank schon mal für eure Mühe.
P.S. Ist vielleicht ungünstig, zu fragen ohne sich vorzustellen. Deshalb in die Runde: "Hallo, ich bin der Neue".
so sollte das Gui dann schematisch aussehen:
zum Thema: Ich bin gerade an einem Projekt, ein Kartenspiel zu basteln.Hänge nur ein bisschen bei der Visualisierung. (Siehe unten)
Ich habe nur mit den Kartencontainern meine liebe Mühe. Wird nämlich eine Karte ausgespielt, soll sie logischerweise aus der Hand des spieler entfern werden und auf dem Spielfeld abgelegt werden.
Dazu wird das Kartenobjekt(erbt von JPanel) aus den Handkarten des Spielers entfernt und in einen anderen Vector gesteckt.
Dann soll der KartenContainer sich wieder neu aufbauen. Tut er aber nicht wirklich. Die Methode die ich verwende ist die reconstruct().
Java:
public class Cardcontainer extends JPanel {
private static final long serialVersionUID = 1L;
Vector<Card> cards;
//@l: 0 = horizontales Layout, 1 = vertikales Layout
public Cardcontainer(Player p, int lay){
super();
cards = p.handCards;
if(lay==0) {
this.setSize(600, 200);
}
else {
this.setSize(200, 600);
}
for(int i=0;i<cards.size();i++){
this.add(cards.get(i));
}
}
public void reconstruct(){
this.removeAll();
for(int i=0;i<this.cards.size();i++){
this.add(this.cards.get(i));
}
this.repaint();
}
}
Eigentlich sollten meines Verständnisses nach keine Löcher im Layout bleiben, tun sie aber leider doch (siehe Screen).
Kann mir da jemand auf die Sprünge helfen?
Zudem fällt vielleicht auf, dass die Karte ziemlich ungünstig auf der Spielfläche plaziert ist.
Hab es mit einem BorderLayout versucht und die Karte eben WEST abgelegt, scheint er aber auch nicht wirklich zu mögen.
Vielen Dank schon mal für eure Mühe.
P.S. Ist vielleicht ungünstig, zu fragen ohne sich vorzustellen. Deshalb in die Runde: "Hallo, ich bin der Neue".
so sollte das Gui dann schematisch aussehen:
Zuletzt bearbeitet von einem Moderator: