OOP MouseAdapter Parameter mitgeben

chuvak

Aktives Mitglied
Ich weise einem JLabel einen MouseListener hinzu, der eine Innere Klasse "MousePressed" instanziiert, die von MouseAdapter erbt.
Wenn das JLabel geklickt wird, würde ich gerne einen Parameter mitgeben, z.B. die Zahl 12. Allerdings klappt es nicht ganz:

Java:
public View() {
label1.addMouseListener(new MousePressed()); // so sieht es momentan aus
label1.addMouseListener(new MousePressed(12)); // so würde ich es gerne haben. Kommt aber "cannot find symbol"
}

//...

class MousePressed extends MouseAdapter {
    @Override
    public void mousePressed(MouseEvent me) { // dann müsste ich hier den Konstruktor entsprechend anpassen
// wenn ich z.B. mousePressed(MouseEvent me, int zahl) hinschreibe, erscheint in der 9. Zeile "method does not override a method from a superclass
System.out.println("mousepressed");
    }
}

Habe ich irgendeinen Denkfehler?
 
Java:
label1.addMouseListener(new MousePressed(12)); // so würde ich es gerne haben. Kommt aber "cannot find symbol"

Den Konstruktor gibts ja auch "noch" nicht, den müsstest du in deiner Klasse natürlich noch definieren.

EDIT:
Java:
  public void mousePressed(MouseEvent me) { // dann müsste ich hier den Konstruktor entsprechend anpassen
ahh, das ist dein Problem. Das ist nicht der Konstruktor 🙂 Das ist eine Methode ! Die muss auch genau so bleiben ;D
Java:
class MousePressed extends MouseAdapter {
	private int i;
	public MousePressed(int i) {
		this.i = i;
	}

	@Override
	public void mousePressed(MouseEvent me) { 
		System.out.println("mousepressed"+i);
	}
}
 
Zuletzt bearbeitet:

Zurück
Oben