即使我讀了一些有關份量我無法刪除下面給出的代碼片段空間:搖擺的GridBagLayout不能分發(刪除)空的空間
JPanel panel = new JPanel();
scrollPane.setViewportView(panel);
GridBagLayout gbl_panel = new GridBagLayout();
GridBagConstraints gc = new GridBagConstraints();
gbl_panel.columnWidths = new int[]{0, 0, 0, 0, 0};
gbl_panel.rowHeights = new int[]{0, 0};
gbl_panel.columnWeights = new double[]{0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
gbl_panel.rowWeights = new double[]{0.0, Double.MIN_VALUE};
panel.setLayout(gbl_panel);
for(int i = 0;i<3;i++){
gc.gridy = i;
panel.add(new JButton("hi"),gc);
}
如果組件的總尺寸大於面板的尺寸(例如添加10個按鈕),則不存在問題。但是如果組件的總尺寸小於比面板的大小它分佈的所有空間。我想逐行設置我的組件(從頂部到底部與組件之間的任何空間) 對不便,謝謝!
你的'rowWeights'數組有兩個元素。該數組中的第二個元素是非零重量,因此佈局中的第二行被分配額外空間並不奇怪。 – VGR
如何刪除分配的額外空間? –
爲每一行指定一個行權重。任何權重爲零的行都不會被分配額外的空間。 – VGR