我正在寻找一种方法来限制左手侧的分隔线移动超过一定宽度。例如,我可以使用setDividerLocation(400)然后添加另一个width = 500的属性,以便Swing GUI的用户可以移动分隔符,直到width = 500。
我看着setLastDividerLocation
,然而,这似乎并不起作用。有人可以帮我提供我需要为此设置的正确属性吗?
谢谢!
答案 0 :(得分:2)
您可以向PropertyChangeListener
添加JSplitPane
,并在超出限制时重置分隔符位置:
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 );
}
}
});