Hallo erst mal!
Ich soll für die Schule ein Programm schreiben, dass eine Party simuliert, vom funktionalen her funktioniert alles, jedoch ist die darstellung sehr komisch...
Ich zeichne die Personen als kleine Rechtecke in ein JPanel:
Nun ist das Problem, dass der Raum fehlerhaft dargestellt wird:
http://www.pictureupload.de/pictures/141206184449_Fehler.jpg
Wenn man nun auf den Button "Löschen"
klickt Ergibt sich folgendes Bild, was ich haben möchte...
http://www.pictureupload.de/pictures/141206185036_Richtig.jpg
Ich habe keine Ahnung wie ich das hinbekomme, hab schon alles was mir ind den Sinn gekommen ist ausprobiert, z. B. anstatt fillRect() clearRect()
Danke schon mal im Vorraus!
Ich soll für die Schule ein Programm schreiben, dass eine Party simuliert, vom funktionalen her funktioniert alles, jedoch ist die darstellung sehr komisch...
Ich zeichne die Personen als kleine Rechtecke in ein JPanel:
Code:
private void zeichnen()
{
List Personen; //Hier werden die Personen abgespeichert, die sich im Raum befinden.(Ist eine LinkedList)
Graphics g;
cSozialMensch Mensch; //Sie dient als Zwischenspeicher für den Menschen das ist ein Gast
cKoordinaten Platz; //Sie dient als Zwischenspeicher für den Platz, wo die Person gerade steht
Personen = Fachklasse.getGaesteListe();
g = Zimmer.getGraphics();
g.setColor(Color.black);
g.fillRect(0,0,Zimmer.getWidth(),Zimmer.getHeight()); //Auf dem Panel werden alle Zeichnungen gelöscht
if(!Personen.isEmpty()){ //Für jede Person wird ein 1*1 großes Pixel gemalt, an der Stelle, an der sie sich befindet.
Personen.toFirst();
while(!Personen.isBehind()){
Mensch = (cSozialMensch)Personen.getItem(); //Wenn die Person weiblich ist, dann wird das Quadrat Pink.
if(Mensch.getGeschlecht() == 'w'){
g.setColor(Color.pink);
} else if(Mensch.getGeschlecht() == 'm'){ //Wenn die Person männlich ist, dann wird das Quadrat Blau.
g.setColor(Color.blue);
}
Platz = Mensch.getKoordinaten();
g.drawRect(Platz.getX(),Platz.getY(),1,1);
Personen.next();
}
}
}
Nun ist das Problem, dass der Raum fehlerhaft dargestellt wird:
http://www.pictureupload.de/pictures/141206184449_Fehler.jpg
Wenn man nun auf den Button "Löschen"
Code:
public void Gast_loeschen() {
Fachklasse.loeschen();
this.zeichnen();
}
http://www.pictureupload.de/pictures/141206185036_Richtig.jpg
Ich habe keine Ahnung wie ich das hinbekomme, hab schon alles was mir ind den Sinn gekommen ist ausprobiert, z. B. anstatt fillRect() clearRect()
Danke schon mal im Vorraus!