2016-05-03 7 views
0

Я добавил графику (икону) к TitledPane и установить onMouseCliked обработчик на нем (чтобы открыть всплывающее окно).Предотвращение TitledPane от открытия, когда grapich нажата, в JavaFX

Этот обработчик события использует событие. Проблема в том, что когда я нажимаю на значок, всплывающее окно открывается, но также добавляется TitledPane.

Как я мог предотвратить это?

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

Можете ли вы поделиться своим кодом, чтобы мы могли знать, что вы сделали? –

+0

Я добавил основные элементы. – Hokken

ответ

0

Я нашел решение:

Я просто потребляя MOUSE_CLICKED событие, а TitledPane также обработка MOUSE_PRESSED/MOUSE_RELEASED события.