在我的Swing应用程序中,我有一个称为Command的POJO类。 Command有几个子类。大多数Command子类由2或3个字符串组成。但是Command子类之一中的数据具有完全不同的数据格式。

我还有一个称为CommandEditor的类,该类创建用于查看和编辑各种Command子类的GUI。 CommandEditor创建一个包含水平Box的JPanel。对于包含2个或3个字符串的Command子类,Box包含2个或3个对应的JTextField。对于奇数子类,Box包含适当的小部件,用于查看和编辑该子类的数据。

我能够将包含一堆CommandEditor的表单放在一起,并且一切正常。

但是现在我需要处理命令的ArrayList。保证ArrayList中的所有命令都是相同的子类,这意味着每个命令的对应CommandEditor看起来基本相同(形状相似)

客户需要的是看起来像CommandEditor表的东西。

最好的方法是什么?我可以将CommandEditor对象的Vector传递到JList中(这样JList会将CommandEditor放入行中,而CommandEditor提供具有列的错觉)吗?或者,还有更好的方法?

最佳答案

一种方法是使用JTable并实现TableCellEditor接口,如本example中所建议。您可以为每种PopupDialog创建不同的CommandEditor。有关其他示例,请参见How to Use Tables

08-16 03:58