JavaFX: prevent right mouse clicks to expand/collapse the TitledPane

1.5k Views Asked by At

i added a ContextMenu to Header of all TitledPanes in an Accordion. it works fine, but how to prevent right Mouse Clicks from Expading or collapsing the TitledPane?

hier is my Code where i show the ContextMenu:

header.setOnContextMenuRequested(new EventHandler<ContextMenuEvent>() {
                    @Override
                    public void handle(ContextMenuEvent event) {
                        contextMenu.show(header, Side.RIGHT, 0, 0);
                        event.consume();
                            setSelectedAccount((Element)header.getUserData());
                            selectedItem.setText(getSelectedAccount().getAttribute("MAIL"));

                        }
                    });

UPDATE:

my environment: Linux Suse 12.3, JDK 1.7.0_45, JavaFX 2.2, Compiler Compliance level 1.7.

many thanks

3

There are 3 best solutions below

0
On

This works in Accordion.

@FXML
private Accordion accordion1;

@FXML
private TitledPane pane1,pane2;

@FXML
void mouseClicked(MouseEvent event) {
        if(pane1.isExpanded())
            pane2.setExpanded(false);
        else
            pane2.setExpanded(true);            
    }
3
On

Try below code it will work fine as per your requirement:

@FXML
private TitledPane abc;

@FXML
void mouseClicked(MouseEvent event) {
    if(event.getButton().toString().equals("SECONDARY"))
    {
        if(abc.isExpanded())
            abc.setExpanded(false);
        else
            abc.setExpanded(true);            
    }
}
6
On

try this...

header.addEventFilter(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>
    () {

        @Override
        public void handle(MouseEvent t) {
            if(t.getButton().toString().equals("PRIMARY"))
            {
                System.out.println("click on left mouse click");
            }
        }
    }
    );