2011-02-13 50 views
0

我正在java中製作一個程序,其中包含一個jframe並且必須填充一些數據。數據將僅僅是用戶通過JFileChooser選擇的文件的各種信息(文件名,文件路徑,大小)。 JFilechooser將通過單擊將位於每行第一列的jbutton打開,在選擇文件後,數據將填充到每行的後續列中,並且該按鈕將被添加到下一行的第一列中。Java程序的佈局

我現在面臨的問題是選擇正確的佈局(容器)本data.I正在考慮下面的選項,但有一些疑惑關於它:

  1. GridBagLayout的:不知道是否行可在運行時添加(在按鈕單擊事件上)並進行有效管理。

  2. JTable:與上面相同。

回答

1

至於佈局管理器可以看看MigLayout或DesignGridLayout。它們都比標準的要好得多。如果我正在使用標準佈局管理器來實現您的程序,我將使用FlowLayout的面板並使用BoxLayout垂直堆疊它們。

+0

我其實喜歡gridbag佈局。很多打字,但在同一時間很多的自由。 Jgoodies formlayout也非常好。 – extraneon 2011-02-13 17:51:21

+0

嗨,我嘗試了miglayout,發現它非常靈活,但是當我在面板中添加元素(使用miglayout)時,它不會以所需順序添加組件。 – sushobhit 2011-02-17 17:54:02

2

你永遠不需要使用一個佈局管理器。您可以創建多個面板,每個面板使用不同的佈局管理器並將它們放在一起。

通常添加多行數據,您將使用垂直BoxLayout。

當您添加更多行時,JTable會照看自己的繪畫本身。

首先閱讀Swing tutorial。有關於使用佈局管理器和使用JTable的章節。

1

嘗試組佈局。它似乎非常靈活。然而,代碼結果有點複雜。

0

通常在更復雜的框架中使用多個佈局管理器,方法是將相關字段放在面板中併爲該面板指定自己的佈局管理器。

除此之外,您可以在運行時修改佈局。之後我認爲你必須調用validate()或類似的東西。

也可以考慮玩像jformdesigner演示或谷歌的windowbuilder專業版(免費)的GUI工具。即使你決定不使用生成的代碼,你至少可以看到你正在構建的東西。