限制JSplitPane分隔符移动



我正在寻找一种方法来限制分隔符移动超过一定的宽度在左手边。例如,我可以使用setDividerLocation(400),然后添加另一个width = 500的属性,这样Swing GUI的用户就可以移动分隔符直到width = 500。

我正在看setLastDividerLocation,然而,这似乎不起作用。有人能帮我正确的属性,我需要设置这个吗?

谢谢!

您可以在JSplitPane上添加PropertyChangeListener,并在超过限制时重置分压器位置:

splitPane.addPropertyChangeListener("dividerLocation", new PropertyChangeListener()
{
    @Override
    public void propertyChange(PropertyChangeEvent e)
    {
        int location = ((Integer)e.getNewValue()).intValue();
        System.out.println(location);
        if (location > 400)
        {
            JSplitPane splitPane = (JSplitPane)e.getSource();
            splitPane.setDividerLocation( 400 );
        }
    }
});

相关内容

  • 没有找到相关文章

最新更新