簡體   English   中英

限制JSplitPane分頻器移動

[英]Restrict JSplitPane divider movement

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

我在看setLastDividerLocation ,但是,這似乎不起作用。 有人可以幫我提供我需要為此設置的正確屬性嗎?

謝謝!

您可以將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 );
        }
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM