Hallo habe eine kleines Programm geschrieben in dem die Deutschlandkarte gezeichnet wird.
Auf diese Karte erzeuge ich kleine Punkte die die Haupstadt des jeweiligen Bundesland repräsentieren soll.
Jetzt möchte ich, wenn ich mit der Maus auf einen Punkt klicke, die Bildschirmhintergrundfarbe ändern.
Mein Problem ist, das ich keine Ahnung habe, wie ich feststelle, ob auf einen Punkt geklickt wurde.
Hier mein bisheriger Quellcode:
Und hier die Punkt Klasse zum erzeugen der einzelnen Punkte::
Danke im voraus für Eure Hilfe
Asterix_76
Bitte code tags benutzen! - Roar
Auf diese Karte erzeuge ich kleine Punkte die die Haupstadt des jeweiligen Bundesland repräsentieren soll.
Jetzt möchte ich, wenn ich mit der Maus auf einen Punkt klicke, die Bildschirmhintergrundfarbe ändern.
Mein Problem ist, das ich keine Ahnung habe, wie ich feststelle, ob auf einen Punkt geklickt wurde.
Hier mein bisheriger Quellcode:
Code:
import java.awt.*;
import java.awt.event.*;
public class Karte extends Frame implements MouseListener
{
private MediaTracker mt;
private Image [] karte;
private int mouseX;
private int mouseY;
Dot dot;
public Karte()
{
super("Deutschland");
setSize(250,295);
setVisible(true);
setResizable(false);
mt = new MediaTracker(this);
karte = new Image[2];
karte[0]=Toolkit.getDefaultToolkit().getImage("images/deutschlandkarte.gif");
karte[1]=Toolkit.getDefaultToolkit().getImage("images/nrw.gif");
mt.addImage(karte[0],0);
mt.addImage(karte[1],0);
try
{
mt.waitForAll();
}
catch(InterruptedException e)
{
}
addMouseListener(this);
}
public void mouseMoved(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
}
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
public void paint(Graphics g)
{
dot = new Dot();
g.drawImage(karte[0],0,5,this);
dot.paint(g);
}
public static void main(String [] args)
{
new Karte();
}
}
Und hier die Punkt Klasse zum erzeugen der einzelnen Punkte::
Code:
import java.awt.*;
public class Dot
{
int x;
int y;
String name;
boolean active;
public void setDot(int x,int y)
{
this.x=x;
this.y=y;
}
public int getX()
{
return x;
}
public int getY()
{
return y;
}
public void paint(Graphics g)
{
g.setColor(Color.red);
g.drawOval(100,200,6,6);
g.drawOval(50,130,6,6);
g.fillOval(100,200,6,6);
g.fillOval(50,130,6,6);
}
public void setActive(int x,int y)
{
this.x=50;
this.y=130;
DotActive(true);
}
public boolean DotActive(boolean value)
{
active=value;
return active;
}
}
Danke im voraus für Eure Hilfe
Asterix_76
Bitte code tags benutzen! - Roar