Nach schaffen die grundlegenden GUI und Animations-Engine, Einführung die Grundlagen der Interaktion durch den Einbau Mausereignis Modell.
Die Technik wird es sein, ein Ereignis oder Geschehen jedes Mal wenn Sie interagieren mit der Maus erzeugen. Diese Veranstaltung wird von einem unserer Software-Module erfasst werden, verarbeiten und erzeugen eine Aktion.
Der erste Schritt wird sein, zu verstehen, wie diese Ereignisse generieren und, später, übernehmen aufwändigere Aktionen. Denn jetzt ist es ausreichend, die Art des Ereignisses, die auftritt, und die Position auf dem Bildschirm, wo Sie haben zu bestimmen.
Die ereignisgesteuerte Programmierung ist Programming Paradigm wobei die Struktur und die Ausführung der Programme werden von den Ereignissen, die in dem System auftreten, bestimmt, benutzerdefinierte oder die sie verursachen.
Um die ereignisgesteuerte Programmierung verstehen, lehnen wir es zu, was nicht: während sequentielle Programmierung (oder strukturierte) ist der Programmierer, was wird der Programmablauf definiert sein, in der ereignisgesteuerten Programmierung ist die Benutzer-oder was auch immer Sie tätig sind das Programm, das den Programmablauf steuert. Obwohl sequenzielle Programmierung externen Agenten Intervention Programm, diese Interventionen auftreten, wenn der Programmierer hat festgestellt,, und zu keinem Zeitpunkt wie im Falle der ereignisgesteuerte Programmierung.(W)
Implementieren Sie die Ereignis-Listener-Schnittstelle
Wir werden das Event-System in einer einzigen Grafik-Bibliothek Klasse implementieren, um nicht zu komplizieren das Modell zunächst. Das erste, was wir tun werden, ist zu ändern Sie die Deklaration der Klasse verantwortlich für die Pflege der Datenbank und Grafik Malerei Objekte: “BlackBoard”. Geben beschriftet “implementiert” dass diese Klasse kann in der Maus zu hören.
public class Blackboard erstreckt Leinwand implementiert MouseListener{
Die neue Schnittstelle erfordert, dass wir einen neuen Anruf Java-Bibliotheken hinzufügen, um die Dateien, die diese Schnittstelle implementieren lokalisieren. Was machen wir mit dem reservierten Wort “importieren”.
importieren java.awt.event.MouseListener;
Müssen die Methoden in der Schnittstelle definiert umzusetzen, und importieren Sie die Klasse “MouseEvent” daß als Parameter für diese Methoden übergeben. Denn jetzt einfach ohne Zugabe Funktionalität erklären.
public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated Methodenstub } public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated Methodenstub } public void mouseExited(MouseEvent arg0) { // TODO Auto-generated Methodenstub } public void mousePressed(MouseEvent arg0) { // TODO Auto-generated Methodenstub } public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated Methodenstub }
Event Registration
Wird registrieren eine Maus Ereignis tritt ein, wenn. Im Konstruktor der Klasse oder in einem Start-Methode wird sich der Anruf “addMouseListener” zu zeigen, dass wir den Hörer hinzuzufügen.
Der übergebene Parameter ist der Name der Klasse, die an der Maus hört. In unserem Fall wird es geben die gleiche Klasse wie dieses Ereignis wird aufgezeichnet, um benachrichtigt zu werden, wenn es. Dies wird mit der Bezeichnung gemacht “diese“.
Öffentlichkeit Blackboard(){ diese.addMouseListener(diese); }
Event Management
Definieren Sie ein paar Variablen, die die Koordinaten der Position auf dem Bildschirm, wo die Maus gedrückt wurde gespeichert werden
private int lastx = 0; private int lasty = 0;
Implementieren Sie eine der oben genannten Funktionen, zum Beispiel, dass läuft jedes Mal, wenn Sie die Maustaste gedrückt Taste “mouseClicked”. Für jetzt nur noch speichern die Koordinaten, wo Sie gedrückt, obwohl wir das Programm mit zusätzlichen Funktionen kompliziert haben.
Diese Koordinaten sind Gegenstand oder Ereignis, das an die Funktion übergeben wurde, Objekt “MouseEvent”
public void mouseClicked(MouseEvent arg0) { lastx = arg0.getX(); lasty = arg0.getX(); }
Ändern Sie die Methode für die Erstellung Grafiken auf dem Bildschirm, um etwas auf der Stelle, wo die Maus gedrückt wurde malen. Es ist die einfachste Implementierung ermöglicht es uns, grafisch überprüfen, ob wir und eroberte die Maus-Ereignis verarbeitet.
public void paintOffScreen(Graphics g){ Aufzählung enum = bd.elements(); Objekt OB; während(enum.hasMoreElements()){ ob = enum.nextElement(); wenn(ob instanceof SimpleDrawable){ ((SimpleDrawable) ob).malen(g); } } paintMousePosition(g); }
Verantwortlich für diese Funktion ist “paintMousePosition”, deren Umsetzung ist grafisch schreiben die gespeicherten Koordinaten der Position der Maus, durch die Funktion “drawString”.
private void paintMousePosition(Graphics g) { g.drawString("("+lastx ","+lasty ")", lastx, lasty); }
Muss sein in Verbindung gebracht einen Kommentar posten.