Java's Swing 用鼠标改变布局的大小

Java's Swing changing size of layout regious with mouse

我有一个 JFrame,其 BoxLayout 分为 2 列。理想情况下,我希望当鼠标悬停在分界线上时,我可以单击并拖动该分界线以动态更改布局的大小。有没有工具或更好的方法来做到这一点?

使用 JSplitPane 作为 contentPanejFrame 是更好的方法。

同上,使用JSplitPane。请参阅下面的示例

public class SplitPaneDemo extends JFrame {
    public static void main(String[] args) {
        EventQueue.invokeLater(() -> new SplitPaneDemo());
    }

    SplitPaneDemo() {
        super("SplitPaneDemo");

        JLabel lhs = new JLabel("LHS");
        lhs.setPreferredSize(new Dimension(320, 200));

        JLabel rhs = new JLabel("RHS");
        rhs.setPreferredSize(new Dimension(320, 200));

        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
        splitPane.setContinuousLayout(true); // Update window as splitter is moved
        splitPane.setLeftComponent(lhs);
        splitPane.setRightComponent(rhs);

        setContentPane(splitPane);
        pack();
        setVisible(true);
    }
}