import java.awt.BorderLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSplitPane;
public class MainClass {
public static void main(String args[]) throws Exception {
JFrame frame = new JFrame("Property Split");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
splitPane.setTopComponent(new JLabel("www.java2java.com"));
splitPane.setBottomComponent(new JLabel("www.java2java.com"));
PropertyChangeListener propertyChangeListener =
new PropertyChangeListener() {
public void propertyChange (PropertyChangeEvent changeEvent) {
JSplitPane sourceSplitPane = (JSplitPane)changeEvent.getSource();
String propertyName = changeEvent.getPropertyName();
if (propertyName.equals(
JSplitPane.LAST_DIVIDER_LOCATION_PROPERTY)) {
int current = sourceSplitPane.getDividerLocation();
System.out.println ("Current: " + current);
Integer last = (Integer)changeEvent.getNewValue();
System.out.println ("Last: " + last);
Integer priorLast = (Integer)changeEvent.getOldValue();
System.out.println ("Prior last: " + priorLast);
}
}
};
// Attach listener
splitPane.addPropertyChangeListener(propertyChangeListener);
frame.add(splitPane, BorderLayout.CENTER);
frame.setSize(300, 150);
frame.setVisible(true);
}
}
|