Ich refactoring eine JavaFX-Klassendatei zu einer Controller-Klasse und einer FXML-Datei. In der alten JavaFX-Klasse musste ich ein Sicherheitsnetz für alle Mausereignisse erstellen, indem ich ein Rechteck auf die untere z-Ebene legte, damit Mausereignisse, die während der Maus nicht auf einem Knoten in der Szene stattfanden, immer noch alle Mausereignisse erhalten würden . Gibt es einen besseren Weg in FXML?Erfassen aller Mausereignisse in einem Container
1
A
Antwort
1
Sie haben soeben einen Event-Handler selbst in die Szene könnte hinzufügen:
scene.addEventHandler(MouseEvent.ANY, event -> {
System.out.println(event);
});
Verwandte Themen
- 1. Wie kann ich alle Mausereignisse in einem JFrame/Swing erfassen?
- 2. Wie erfassen gehäutete Flex UIComponents Mausereignisse?
- 3. Erfassen aller Klickereignisse in Benutzersteuerelement
- 4. Wie erfassen Sie Mausereignisse in FF, über Shockwave Object
- 5. Kann ich mit Python Tastatur- und Mausereignisse in OSX erfassen?
- 6. WPF: Ändern der Schriftart aller Steuerelemente in einem bestimmten Container
- 7. Knoten webkit- Iframe-Mausereignisse vom übergeordneten Fenster erfassen
- 8. Kann ich Mausereignisse in einem QGraphicsItem bekommen?
- 9. Abonnieren von Mausereignissen aller Steuerelemente in Formular
- 10. Erfassen/erkennen aller Laufzeitfehler im Programm
- 11. Erfassen aller Methoden/Nachrichtenaufrufe für ein Objekt
- 12. Mausereignisse in JfreeChart
- 13. Zurücksetzen aller Instanzen im IOC-Container
- 14. Müssen UIView in ein UIImage erfassen, einschließlich aller Unteransichten
- 15. Befehl zum Neustart aller aktiven Docker-Container?
- 16. Python-Zeitzähler in Pygame-Mausereignisse
- 17. Drag & Drop und Mausereignisse
- 18. NSViewController langsam Mausereignisse registrieren?
- 19. Liste aller Objekte in meinem Unity-DI-Container
- 20. Regex zum Erfassen aller Texte vor {Zeichen - Objective C
- 21. Erfassen aller Änderungen während einer Anwendungsinstallation unter Windows
- 22. Regex-Wiederholungsmuster zum Erfassen aller HTML-Tabellenspalten Inhalt
- 23. Positionierung divs in einem Container
- 24. debootstrap in einem Docker-Container
- 25. Erfassen aller Anfragen und Antworten von der Webbrowsersteuerung?
- 26. Iframe stehlen Mausereignisse
- 27. Wie kann ich Mausereignisse erfassen, die außerhalb eines (WPF) Fensters auftreten?
- 28. So erfassen Sie Netzwerkframes in einem Kernelmodul
- 29. Kopieren eines Bereichs von einem Container zu einem anderen Container
- 30. javaFX, zwei MausEreignisse gleichzeitig
Es gibt im Grunde keinen Unterschied überhaupt in der Funktionalität, die Sie erhalten: FXML nur eine andere ist (vielleicht bequemer), um die Objekte zu spezifizieren, dass sollte erstellt werden und die Eigenschaften, die für sie festgelegt werden sollten. Es ist überhaupt nicht klar, warum Sie ein Rechteck auf der unteren Ebene platzieren sollten, um Mausereignisse trotzdem zu behandeln: warum registrieren Sie nicht einfach den gleichen Maus-Listener mit dem Container selbst? –
Ereignisse bewegen sich abwärts und aufwärts in den Szenengraphbaum ([siehe * 1 Verarbeitungsereignisse *] (http://docs.oracle.com/javase/8/javafx/events-tutorial/processing.htm#CEGJAAFD)). Manuelles Hinzufügen eines "Sicherheitsnetzes" sollte nicht notwendig sein (siehe James_Ds Kommentar) ... – fabian