2010-09-19 67 views
1

在我的Swing應用程序中,我有一個名爲Command的POJO類。命令有幾個子類。大多數Command子類由2或3個字符串組成。但是其中一個Command子類中的數據具有相當不同的數據格式。如何嵌套複雜的Swing組件

我也有一個名爲CommandEditor的類,它創建用於查看和編輯各種Command子類的GUI。 CommandEditor創建一個包含水平框的JPanel。對於包含2或3個字符串的Command子類,Box包含2或3個相應的JTextField。對於奇數子類,Box包含用於查看和編輯該子類數據的相應小部件。

我能夠放在一起包含一堆CommandEditor的表單,並且它都可以很好地工作。

但現在我需要處理命令的ArrayList。 ArrayList中的所有命令都保證具有相同的子類,這意味着每個命令的相應CommandEditor看起來基本相同(具有相似的形狀)。

客戶需要的東西是就像CommandEditor的表格一樣。

這樣做的最好方法是什麼?我是否可以將CommandEditor對象的Vector傳遞給JList(例如,JList將CommandEditor放入行中,並且CommandEditor提供了具有列的錯覺)?或者,還有更好的方法?

回答

1

看起來你只需要一列CommandEditor,所以JList如果支持像JTable這樣的單元編輯器,它會更容易使用。

如果你有奢侈品超越鞦韆,Apache Pivot's list支持單元格編輯器。我沒有親自使用過它,但我看到了很好的評論。