2016-04-03 17 views
0

Gibt es eine Möglichkeit, ein Ereignis, das nur ausgelöst wird, wenn ich auf den Titel eines TitledPane klicke?javafx TitledPane Click-Ereignis nur für Titel

Ich habe mehrere Knoten in einem Grafik-Editor und derzeit sind sie ziehbar. Aber ich möchte sie nur ziehen, wenn ich den Titel nicht ziehe, wenn ich irgendwo auf den Bereich klicke.

das mouseClick-Ereignis scheint nicht für mich zu arbeiten. Hat jemand Vorschläge?

Antwort

1

Legen Sie den Text nicht im Titelbereich fest, sondern erstellen Sie eine Beschriftung und legen Sie sie als Grafik für den Titelbereich fest. Dann können Sie einen Maus-Handler mit dem Label registrieren:

private TitledPane createClickableTitledPane(String text) { 
    Label label = new Label(text); 
    label.setOnMouseClicked(e -> System.out.println("Click on "+text)); 
    TitledPane titledPane = new TitledPane(); 
    titledPane.setGraphic(label); 
    return titledPane ; 
} 
+0

Ich habe versucht, den Code und es im Grunde tut, was ich will, aber mein Problem ist jetzt, dass die Veranstaltung nur für den Label-Text ist, ist es eine Möglichkeit zu bekommen die Veranstaltung für den ganzen Titel? –