我正在尝试实现一个将其状态保存到某个配置文件的JSplitPane,所以我添加了一个像这样的监听器:
mHorSplitPane.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent changeEvent) {
JSplitPane sourceSplitPane = (JSplitPane) changeEvent.getSource();
String propertyName = changeEvent.getPropertyName();
if (propertyName.equals(JSplitPane.DIVIDER_LOCATION_PROPERTY)) {
mController.writeSplitPaneProperty((int) (sourceSplitPane.getDividerLocation()/(float)sourceSplitPane.getBounds().width*100));
}
}
});
处理它很好,但由于某种原因,有时Swing代码本身会更改此属性并更改分隔符位置,有关如何克服此问题的任何建议?