내 지식으로는 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)이 그렇게 할 것입니다. –