Situation: Ich schreibe ein einfaches Notizenprogramm von Grund auf für ein Schulprojekt mit Java und JavaFX. Ich verwende Tags, um Notizen zu gruppieren. Ich kann Tags zu einer Notiz hinzufügen und wenn es ein neues Tag ist, das erstellt wird, wird es auch zu meiner Tag-Cloud hinzugefügt.Taste muss je nach Platzierung etwas andere Aktion ausführen
Jedes Tag hat eine Schaltfläche mit einem X markiert. Ich muss jetzt die Schaltfläche funktionieren, aber abhängig von der Platzierung des Tags muss ich es eines von zwei Dingen tun: 1) wenn der Benutzer entfernen möchte Tag aus einer Notiz Ich muss das Tag aus der Tagbar (einem TilePane) entfernen, wo die Tags dieser bestimmten Notiz angezeigt werden, und sie aus der Notiz entfernen. 2) Wenn der Benutzer das Tag vollständig löschen möchte, klickt der Benutzer auf X des Tags in der Tag-Cloud (das ist ein FlowPane) und das Tag wird dann aus der Tag-Cloud und aus allen Notizen entfernt.
Problem: Soweit ich es verstehe, muss ich zwei verschiedene Aktionen für den gleichen Knopf machen und ich habe keine Ahnung, wie man das macht.
Ideen: Ich habe gedacht, macht zwei verschiedene Arten von Tags mit jeweils eigener FXML-Datei, aber ich bin nicht sicher.
Frage: Wie mache ich zwei verschiedene Aktionen für die gleiche Schaltfläche und wie mache ich es so, dass die richtige Aktion aufgerufen wird?
Hier ist ein Link zu dem, was das Programm sieht wie bisher:
Ich sehe 2 verschiedene 'x' Tasten. Eine auf der Oberseite ("Wolke") und eine auf der linken Seite. Weisen Sie jeder eine eigene Aktion zu. – user1803551
Um zu wissen, wo sich die Schaltfläche befindet, müssen Sie nur sicherstellen, dass das übergeordnete Element, das die Schaltflächen enthält, eine fx: id hat. Wenn Sie dann auf den Button klicken, sehen Sie, wer der Elternteil ist. Schalten Sie die Aktion für das übergeordnete Element um. – Sedrick
Dies sind jedoch nicht die gleichen Tasten. Z.B. Der "private" -Tag-Button in der Tag-Leiste ist (unbedingt) ein anderer Button als der "private" -Tag-Button in der Tag-Cloud. Jeder hat also einen Event-Handler, der eine andere Aktion ausführt. Wo ist das Problem? –