仅按用户收听JSplitPane分隔符位置更改?

时间:2013-08-14 13:25:35

标签: java swing jsplitpane propertychangelistener

我正在尝试实现一个将其状态保存到某个配置文件的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代码本身会更改此属性并更改分隔符位置,有关如何克服此问题的任何建议?

0 个答案:

没有答案