Search code examples
javaswingmouselistenerjsplitpane

How to get divider component in JSplitPane?


I want to get divider component in JSplitPane. I want to attach MouseListener to it.

How to get divider component of JSplitPane?

Thanks!


Solution

  • Try this -

    Initially:

    JSplitPane pane = new JSplitPane(JSPlitPane.HORIZONTAL_SPLIT, panelOne, panelTwo);
    pane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent propertyChangeEvent) {
            // some processing here
        }
    });
    

    Updated:

    JSplitPane pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panelOne, panelTwo);
    BasicSplitPaneUI basicSplitPaneUI = (BasicSplitPaneUI) pane.getUI();
    BasicSplitPaneDivider basicSplitPaneDivider = basicSplitPaneUI.getDivider();
    basicSplitPaneDivider.addMouseMotionListener(new MouseMotionAdapter() {
        @Override
        public void mouseDragged(MouseEvent e) {
            // some processing here
        }
    });