2016-05-03 18 views
0

Ich habe eine TitledPane mit einer Grafik (einem Symbol) versehen und einen onMouseCliked Handler darauf gesetzt (um ein Popup zu öffnen).Verhindern, dass TitledPane geöffnet wird, wenn auf das Grapich geklickt wird, in javaFX

Dieser Ereignishandler verbraucht das Ereignis. Das Problem ist, wenn ich auf das Symbol klicke, wird das Popup geöffnet, aber die TitledPane wird auch erweitert.

Wie könnte ich das verhindern?

public class MyPanel extends BorderPane{ 
    @FXML 
    TitledPane titledPane; 

    PopOver popOver; 

    Text icon; 

    public MyPanel(){ 

     //FXML injection 

     popOver = new PopOver(new MyPane()); 

     icon = GlyphsDude.createIcon(FontAwesomeIcon.ANCHOR, "15"); 
     icon.setOnMouseClicked(this::onIconClicked); 

     titledPane.setGraphic(icon); 
    } 

    public void onIconClicked(MouseEvent e){ 
     popOver.show(icon); 
     e.consume(); 
    } 
} 
+0

Können Sie bitte Ihren Code teilen, damit wir wissen, was Sie getan haben? –

+0

Ich habe die Hauptelemente hinzugefügt. – Hokken

Antwort

0

fand ich eine Lösung:

Ich war gerade das MOUSE_CLICKED Ereignis raubend und die TitledPane auch MOUSE_PRESSED/MOUSE_RELEASED Ereignisse verarbeitet.