19

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?
Eiko
  • 25,601
  • 15
  • 56
  • 71
Adude11
  • 605
  • 5
  • 16

2 Answers2

32

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) {}
});
Anthony Neace
  • 25,013
  • 7
  • 114
  • 129
6

Use

splitter.addPropertyChangeListener("dividerLocation", myListener);
Sergiy Medvynskyy
  • 11,160
  • 1
  • 32
  • 48