调整 Jpanel 网格列的大小

Resizing Jpanel grid columns

我想知道是否可以调整 Jpanels 的大小,我已经搜索了一段时间但没有找到我要找的东西。

这是我的代码:

    JFrame frame = new JFrame("My Frame");
    JPanel panel = new JPanel(new GridLayout(1,2)); // split the panel in 1 rows and 2 cols

    panel.add(new PixelPanel());
    panel.add(new MyPanel());

    frame.getContentPane().add(panel);

    frame.setVisible(true);
    frame.setSize(1920, 1080);

这会创建一个布局,其中 2 列彼此相邻,边框恰好位于中间,将 2 Jpanels.A 分隔开来。现在,很多软件都为用户提供了调整 2 个面板宽度的选项。因此,通过抓住边框并将其向左或向右拉,一个面板会变大,另一个面板会向下移动。是否有任何内置功能?如果没有,将此行为构建到 Jpanel 上会更好,还是制作自定义面板系统会更好?

提前致谢!

(如果我之后的行为不清楚,我可以制作一个 gif 来解释它)

JSplitPane 就是您要找的。

JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, new PixelPanel(), new MyPanel());