In meiner Anwendung habe ich einen Multi-Step-Formular-Assistenten, in dem die nächste Schaltfläche deaktiviert ist, sofern nicht alle erforderlichen Felder eingegeben werden.JavaFX Capture-Ereignisse einer deaktivierten Schaltfläche
Einige Felder erfordern eine zusätzliche Überprüfung, z. B. die Verzeichnisauswahl, , für die ich prüfen muss, ob das Verzeichnis existiert oder nicht.
Um die Benutzerfreundlichkeit zu erleichtern, muss ich neben dem Textfeld "Verzeichnis" einen Tooltip "Ungültiges Verzeichnis" anzeigen.
Ich möchte die Tooltips anzeigen, wenn der Benutzer versucht, auf die Schaltfläche " nächste Schaltfläche" zu klicken/einzugeben.
Ist es möglich, Ereignisse zu erfassen, die auf einer deaktivierten Schaltfläche in JavaFX ausgeführt werden?
public void nextEntered(Event event) {
Button button = (Button)event.getSource();
if(button.isDisabled()){
validate(currentTab);
}
}
https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#disabledProperty "Ein deaktivierter Knoten empfängt keine Maus- oder Schlüsselereignisse." Also denke ich, dass es am besten wäre, die Mausposition in der Szene zu überprüfen und den Tooltip zu generieren, wenn der Cursor die Grenzen der Schaltfläche schneidet. –
Warum wird das Verzeichnis direkt nach der Auswahl nicht überprüft? Sie könnten der TextProperty von InputField einen ChangeListener hinzufügen oder, wenn Sie den JavaFX FileChooser verwenden, direkt prüfen, ob der Ordner existiert. – Rikan
@el_chupacabra Das habe ich getan, ich habe der Szene einen Ereignis-Listener hinzugefügt und überprüft, ob die Koordinaten des Klicks innerhalb der Grenzen der Schaltfläche liegen. Ich habe mich nur gefragt, ob es eine elegantere Lösung gibt, anscheinend nicht. Vielen Dank. – johndoe