Wie zu emittieren und Griff benutzerdefinierte Ereignisse?
Gibt es mehrere vordefinierte Ereignis-Klassen in javafx. Event.JEDER, KeyEvent.KEY_TYPED, MouseEvent.JEDE und so weiter. Es gibt auch erweiterte Filter-und handling-system für Veranstaltungen. Und ich möchte, um es wiederverwenden zu senden, einige benutzerdefinierte Signale.
Wie kann ich meine benutzerdefinierten Ereignistyp CustomEvent.Alle Strahlen dieses Ereignis programmgesteuert und behandeln Sie es in einem Knoten?
InformationsquelleAutor ayvango | 2014-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Allgemeinen:
Einige Erklärungen:
Wenn Sie möchten, erstellen Sie eine Ereignis-Kaskade, starten Sie mit einer "Alle" oder "Jeder" geben, wird die Wurzel von all den EventTypes:
Diese ermöglicht die Erstellung Nachkommen von dieser Art:
Dann schreiben die
MyEvent
Klasse (die sichEvent
). Die EventTypes eingegeben werden soll, dieser event-Klasse (wie mein Beispiel).Verwenden Sie nun (oder in anderen Worten: das Feuer), Veranstaltung:
Wenn Sie wollen, fangen Sie dieses Ereignis:
InformationsquelleAutor eckig
Hier ist ein (etwas kompliziert) Beispiel-Anwendung zeigt einige der Konzepte, die eckig umreißt in seinem (hervorragenden) Antwort.
Beispiel erstellt ein visuelles Feld, das eine gekachelte Bereich der Reaktor-nodes. Eine benutzerdefinierte Blitz-Ereignis in regelmäßigen Abständen an einen zufällig ausgewählten Knoten, die blinkt gelb, wenn es das Ereignis empfängt. Filter und Handler Hinzugefügt werden, um das übergeordnete Feld und Ihren Aufruf gemeldet-system.so dass Sie sehen können, die Ereignis-bubbling und capturing Phasen in Aktion.
Den code für die LightningEvent selbst war vor allem direkt kopiert aus dem standard-ActionEvent-code in die JavaFX-Quelle, Ihrem event code könnte man wahrscheinlich ein wenig einfacher.
InformationsquelleAutor jewelsea