javaswingjsplitpane

Detecting JSplitPane Divider Movement


Is there a way to detect when a JSplitPane divider is moved? Is there a way to add a listener for divider movement?

JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panel1, panel2);
// What do I put here to be notified if the divider in sp is moved?

Solution

  • I think you're looking for addPropertyChangeListener from Container. Something like this...

    sp.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, 
        new PropertyChangeListener() {
            @Override
            public void propertyChange(PropertyChangeEvent pce) {}
    });