2011-01-15 9 views
2

Woher weiß die Anwendung/JVM, welche Klassen bei der Implementierung von Key-Handling-Schnittstellen vorhanden sind? Verwendet es Java Reflections oder prüft es alle Klassen nach Methoden?Java Wie funktioniert der Key Event Handling Mechanismus (KeyListeners notified)?

Wie kann eine Anwendung oder Ausführung von JVM das Benutzerereignis bereitstellen oder die spezifischen Methoden für eine Klasse aufrufen, die die Keylistener-Schnittstelle implementiert hat? Betrachtet es alle Klassen, wenn diese Methoden implementiert sind oder wie weiß es, welche Klassen implemented keylistener interface?

Wenn Sie nicht die Keylistener-Schnittstelle für eine Klasse implementieren, aber immer noch alle seine Methoden implmentation. Verarbeitet die Klasse das Benutzerereignis noch?

Antwort

1

zu Proceess-Ereignis, das Sie den Ereignisproduzenten Listener hinzufügen (z. B. Schaltfläche). Nachdem das Ereignis eingetreten ist, ruft der Produzent alle registrierten Listener in einer Schleife auf und übergibt das Ereignisobjekt als Parameter.

3

Wenn Sie bestimmte Ereignisse für einen Bildschirm in Ihrer BlackBerry-Anwendung behandeln möchten, müssen Sie eine Klasse erstellen, die die bestimmte Ereignisschnittstelle implementiert und sie auf Ihrem Bildschirm registriert.

Wenn Sie z. B. Schlüsselereignisse verarbeiten möchten, müssen Sie eine Klasse erstellen, die die Schnittstelle KeyListener implementiert und den KeyListener mit Ihrem Bildschirm registrieren.

Es gibt Beispielcode in der Verbindung.

Hinweis: Sie können eine innere Klasse oder eine anonyme Klasse erstellen, anstatt die Screen-Klasse die Schnittstelle

nur die Erstellung der Methoden in Ihrer MainScreen Klasse implementieren, aber nicht die Schnittstelle implementiert oder Registrierung, wird nicht funktionieren.