2010-09-19 62 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支持单元格编辑器。我没有亲自使用过它,但我看到了很好的评论。