據我所知,GridBagLayout無法完成。幸運的是有其他選擇。 MiGLayout
的作用類似於GridBagLayout
,但功能更強大,表現力更強。它也是基於單元格的,可以讓你設置單元格的最小值,首選值和最大值以及單元格的行數/列數
儘管我建議你制定自己的解決方案,因爲這個解決方案過於依賴行限制並且基於幾個關於你想要什麼的假設,這裏有一個例子:
JPanel panel = new JPanel(new MigLayout("flowy, fillx, filly", "[fill, grow]", "[fill, 0:100:300][fill, 0:100:max(100%,300)]"));
JPanel redPanel = new JPanel();
redPanel.setBackground(Color.RED);
JPanel bluePanel = new JPanel();
bluePanel.setBackground(Color.BLUE);
panel.add(redPanel);
panel.add(bluePanel);
JFrame frame = new JFrame();
frame.add(panel);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
GBL不會,但[MiGLayout](http://www.miglayout.com)會爲你做到這一點。 –