Guten Tag zusammen,
in diesem Ausschnitt des Programms versuche ich je nach Knopfdruck Rechtecke in ein JPanel zu malen. Je nach Knopfdruck wird entweder ein roters oder ein schwarzes Rechteck gemalt oder ein BufferedIamge gemalt. Dieses funktioniert auch einwandfrei.
Wenn ich nun einen anderen Knopf drücke, sollen alle gemalten Sachen (rot, schwarz, BufferedImage) verschwinden. Solange nur die Rechtecke gemalt wurden funktioniert das Überschreiben der Methode auch einwandfrei. Allerdings funktioniert es nicht mehr wenn das BufferedImage auch gemalt wurde. Durch das BufferedImage können die anderen Rechtecke auch nicht mehr entfernt werden. Es werden allerdings keine Errors angezeigt und das Programm geht auch in diesen Codeabschnitt rein.
Kann mir bitte jemand helfen eine Möglichkeit herauszufinden, um das BufferedImage wieder zu löschen?
Vielen Dank!
in diesem Ausschnitt des Programms versuche ich je nach Knopfdruck Rechtecke in ein JPanel zu malen. Je nach Knopfdruck wird entweder ein roters oder ein schwarzes Rechteck gemalt oder ein BufferedIamge gemalt. Dieses funktioniert auch einwandfrei.
Wenn ich nun einen anderen Knopf drücke, sollen alle gemalten Sachen (rot, schwarz, BufferedImage) verschwinden. Solange nur die Rechtecke gemalt wurden funktioniert das Überschreiben der Methode auch einwandfrei. Allerdings funktioniert es nicht mehr wenn das BufferedImage auch gemalt wurde. Durch das BufferedImage können die anderen Rechtecke auch nicht mehr entfernt werden. Es werden allerdings keine Errors angezeigt und das Programm geht auch in diesen Codeabschnitt rein.
Kann mir bitte jemand helfen eine Möglichkeit herauszufinden, um das BufferedImage wieder zu löschen?
Java:
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if(rot == true) {
g.setColor(Color.red);
g.fillRect(100, 100, 300, 300);
}
if(schwarz == true) {
g.setColor(Color.black);
g.fillRect(500, 100, 300, 300);
}
if(image== true) {
g.drawImage(img,266,500,null);
}
else if(loeschen == true) {
rot = false;
schwarz = false;
image= false;
loeschen = false;
super.paintComponent(g);
}
Vielen Dank!