调整Jpanel网格列的大小

时间:2019-01-25 20:23:57

标签: java swing jframe jpanel

我想知道是否可以调整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个Jpanel分开。如今,许多软件为用户提供了一个选项,可以调整2个面板的宽度。因此,通过抓住边框并将其向左或向右拉,将使1个面板变大,而另一个面板将向下滑动。是否有任何内置功能?如果不是,将这种行为构建到Jpanel上会更好,还是制作自定义面板系统会更好?

提前谢谢!

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

1 个答案:

答案 0 :(得分:2)

您正在寻找JSplitPane。

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