Ich habe hier eine Vorlesungsfolie, wo ein Quelltext gegeben ist (siehe unten) und die Frage steht: "Warum kann an diesen Stellen die Methode move der Beispiel32_1 Klasse aufgerufen werden?" Das doofe ist nun, dass ich das nicht weiß und es mir damals während der Vorlesung, als die Frage beantwortet wurde, nicht dazu geschrieben habe.
Kann mir jemand eventuell verraten, warum das so ist?
Hat das etwas damit zu tun, dass der Methoden-Aufruf sich in einer anonymen Klasse befindet?
Kann mir jemand eventuell verraten, warum das so ist?
Hat das etwas damit zu tun, dass der Methoden-Aufruf sich in einer anonymen Klasse befindet?
Java:
class Beispiel32_1 extends Frame {
public Beispiel32_1() {
...
MenuItem linksItem = new MenuItem("Links",new MenuShortcut(KeyEvent.VK_L));
MenuItem rechtsItem = new MenuItem("Rechts",new MenuShortcut(KeyEvent.VK_R));
...
linksItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {move(-10);}
});
rechtsItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {move(10);}
});
}
public void move(int dx) {
Point p = getLocation();
p.x += dx;
setLocation(p);
}