我對某些按鈕和麪板有問題。我使用GridBagLayout 6x1創建了一個JPanel。JPanel中的JButton佔用太多空間
GraphicPaintedPanel deck = new GraphicPaintedPanel();
GridBagLayout gblDecks = new GridBagLayout();
gblDecks.columnWidths = new int[]{0, 0, 0, 0, 0, 0, 0};
gblDecks.rowHeights = new int[]{0, 0};
gblDecks.columnWeights = new double[]{0.15, 0.15, 0.15, 0.15, 0.15, 0.15, Double.MIN_VALUE};
gblDecks.rowWeights = new double[]{1.0, Double.MIN_VALUE};
deck.setLayout(gblDecks);
問題是當我嘗試基於自己是多少,因爲他們需要的空間按鈕添加到這個面板,即使壽他們應該有固定的大小。例如,如果我做
for(int j=0; j<4; j++){
JButton activate= new JButton("ACTIVATE LEADER CARD");
GridBagConstraints gbcActivate = new GridBagConstraints();
gbcActivate.gridx = j;
gbcActivate.fill = GridBagConstraints.BOTH;
deck.add(activate, gbcActivate);
}
我創建4個按鈕,面板應該有4個按鈕和2個「空白空間」。但相反,它有4個按鈕,它們佔據了所有可能的空間。
,如果我做
for(int j=0; j<6; j++){
JButton activate= new JButton("ACTIVATE LEADER CARD");
GridBagConstraints gbcActivate = new GridBagConstraints();
gbcActivate.gridx = j;
gbcActivate.fill = GridBagConstraints.BOTH;
deck.add(activate, gbcActivate);
}
不應該的尺寸是固定的?誰能幫我?
因爲我沒有[mcve]從你進行測試,請告訴我如果刪除此行會發生什麼情況:'gbcActivate.fill = GridBagConstraints.BOTH;'? – Frakcool
@Frakcool說的是什麼。 –
閱讀Swing教程中有關[如何使用GridBagLayout]的部分(http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html),瞭解每個約束的用途。您還可以使用更簡單的佈局管理器,如「FlowLayout」。 – camickr