2015-10-14 77 views
1

我正在尋找一種方法來限制分隔線移動超出左手側的一定寬度。例如,我可以使用setDividerLocation(400),然後添加width = 500的另一個屬性,以便Swing GUI的用戶可以移動分隔線直到width = 500.限制JSplitPane分隔線移動

但是,我在看setLastDividerLocation似乎沒有工作。有人可以幫我提供我需要爲此設置的正確屬性嗎?

謝謝!

回答

2

您可以添加一個PropertyChangeListenerJSplitPane和重置分隔條的位置,當它超過了限制:

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); 
     } 
    } 
}); 
+0

這一工程!非常感謝。 –