在我的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。