Hallo,
es gibt ein Bild (Image map) in meiner GUI, wenn ich mit der Maus in dieses Bild klicke, möchte ich, dass ein kleiner roter Punkt gezeichnet wird. Das habe ich so gelöst:
Jetzt hätte ich aber gerne, dass, wenn ich noch einmal mit der Maus in das Bild klicke, dieser rote Punkt wieder entfernt wird, und ein neuer gezeichnet wird.
Ich hatte mir gedacht, ich lege dazu einfach ein transparentes Bild über mein bereits vorhandenes, und "leere" das dann jeweils wieder.
Angefangen hätte ich hierfür so:
Das klappt jedoch nicht, die roten Punkte werden dann gar nicht mehr gezeichnet.
Wie kann ich obenstehendes Problem denn am Besten lösen?
Liebe Grüße
sunny
es gibt ein Bild (Image map) in meiner GUI, wenn ich mit der Maus in dieses Bild klicke, möchte ich, dass ein kleiner roter Punkt gezeichnet wird. Das habe ich so gelöst:
Code:
private void mapMouseClicked(java.awt.event.MouseEvent evt) {
int x = evt.getX();
int y = evt.getY();
Graphics g = map.getGraphics();
g.setColor(Color.red);
g.drawRoundRect(x, y, 3, 3, 3, 3);
g.fillRoundRect(x, y, 3, 3, 3, 3);
}
Jetzt hätte ich aber gerne, dass, wenn ich noch einmal mit der Maus in das Bild klicke, dieser rote Punkt wieder entfernt wird, und ein neuer gezeichnet wird.
Ich hatte mir gedacht, ich lege dazu einfach ein transparentes Bild über mein bereits vorhandenes, und "leere" das dann jeweils wieder.
Angefangen hätte ich hierfür so:
Code:
BufferedImage img = new BufferedImage(w, h, BufferedImage.TRANSLUCENT);
Graphics2D g = img.createGraphics();
g.drawImage(img, 0, 0, w, h, this);
Das klappt jedoch nicht, die roten Punkte werden dann gar nicht mehr gezeichnet.
Wie kann ich obenstehendes Problem denn am Besten lösen?
Liebe Grüße
sunny