2009-09-03 72 views
0

我想在Java GUI中顯示某些文件的狀態。每個文件都有一個標籤和一個按鈕,按鈕的顏色代表文件的狀態,點擊可執行各種操作。所有這些都在起作用,問題是他們沒有正確顯示。我希望它出現具有空單元格的Java網格佈局

[Label 1] [File 1] [File 2] [Label 2] 
[Label 3] [File 3] [File 4] [Label 4] 
etc. 

要做到這一點我已經做了面板採用了網格佈局

new JPanel(new GridLayout((list.size() + 1) /2,4,3,3)); 

這工作,除非有奇數個文件。然後網格調整自己,例如用3個文件,我將得到一個2x3網格,所以標籤2顯示在下一行。如果我檢查一個奇數,然後在所有其他控件之後添加2個新的JPanel,它會正確顯示,但我想知道是否有更好的方法來做到這一點。

感謝

回答

1

看着JavaDoc的GridLayout.setColumns,看起來沒有指定行數可以治癒你的弊病。

將此佈局中的列數設置爲指定的值。 如果構造函數或setRows方法指定的行數不爲零,則設置列數對佈局沒有影響。在這種情況下,佈局中顯示的列數由組件總數和指定的行數決定。 (我的重點)

試試這個:

new JPanel(new GridLayout(0,4,3,3)); 
+0

謝謝,解決了它。 – 2009-09-03 09:16:39

-1

我想知道是否有這樣做的更好的方式 。

是的,使用MiGLayout

+0

對不起,不是一個真正的選擇。首先,該網站被我工作的防火牆阻止,我無權安裝它。它必須是標準java庫中的東西。 – 2009-09-03 08:44:54

+0

我對您的工作條件表示哀悼...... – 2009-09-03 09:13:24