Hallo liebe Community,
das is mein erster Post, deshalb hoffe ich das der hier richtig gelandet ist.
Ich habe ein Problem mit mit der implementierung eines MouseListeners. undzwar soll ich ein "schiebepuzzle" implementieren welches ein Rahmen hat. Wenn man auf diesen Rahmen klickt, soll eine Methode aufgerufen werden, die das Puzzle gelöst darstellen soll. wird wieder auf den rahmen geklickt, so soll eine andere Methode aufgerufen werden die das Puzzle durchmischt. Soweit so schlecht....
die "Rahmenmethode" wird von der paint(Graphics g) methode gerufen und sieht wie folgt aus:
Wenn ich nun ein MouseListener deklariere, muss das ja immer auf ein Object "referenziert" werden...nur wie deklariert man ein Object vom Typ Graphics welches ich an den MouseListener binden kann? Mein Gedankenansatz:
Hat jemand einen Tip für mich?
Vielen Dank!
das is mein erster Post, deshalb hoffe ich das der hier richtig gelandet ist.
Ich habe ein Problem mit mit der implementierung eines MouseListeners. undzwar soll ich ein "schiebepuzzle" implementieren welches ein Rahmen hat. Wenn man auf diesen Rahmen klickt, soll eine Methode aufgerufen werden, die das Puzzle gelöst darstellen soll. wird wieder auf den rahmen geklickt, so soll eine andere Methode aufgerufen werden die das Puzzle durchmischt. Soweit so schlecht....
die "Rahmenmethode" wird von der paint(Graphics g) methode gerufen und sieht wie folgt aus:
Java:
public void paint(Graphics g)
{
paintBorder(g);
paintField(g);
}
private void paintBorder(Graphics g)
{
Insets insets = getInsets();
Dimension size = getSize();
size.height -= insets.top + insets.bottom;
size.width -= insets.left + insets.right;
fieldsize = new Dimension();
fieldsize.width = (size.width - (2 * bordersize)) / 4;
fieldsize.height = (size.height - (2 * bordersize)) / 4;
g.setColor(Color.black);
for (int i = 0; i <= 1 ; ++i) {
g.drawRect(
insets.left + i,
insets.top + i,
size.width - 1 - 2 * i,
size.height - 2 - 2 * i
);
g.drawRect(
insets.left + bordersize - i,
insets.top + bordersize - i,
4 * fieldsize.width + 2 * i,
4 * fieldsize.height + 2 * i
);
}
}
Wenn ich nun ein MouseListener deklariere, muss das ja immer auf ein Object "referenziert" werden...nur wie deklariert man ein Object vom Typ Graphics welches ich an den MouseListener binden kann? Mein Gedankenansatz:
Java:
g.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e) {
randomizeField(true);
}
});repaint();
Hat jemand einen Tip für mich?
Vielen Dank!