重复使用Swing中的列

| 我正在尝试重构一些摇摆代码。当前有两个单独的JTables,每个JTable具有相同的列,除了第二个JTable具有一个额外的列。我们有很多事件侦听器,它们出于各种目的连接到每个表中的每一列。 我想做的是这样的:
TableColumn column_1_name = new TableColumn();
TableColumn column_2_name = new TableColumn();
...

column_1_name.code_for_adding_listeners_etc()
column_2_name.code_for_adding_some_other_listeners_etc()
...

TableColumnModel model = new TableColumnModel()
model.add(column_1_name);
model.add...
...

TableModel tableModel = ...

JTable table = new JTable(tableModel, model);
通过命名上面的列,我可以设置每个列的设置方式,然后使用命名列创建JTable。这样比较干。但是,上述方法不起作用!它应该...根据javadoc,但是出于任何原因该表都不会显示。 请提供任何建议并保持干燥和利用封装,或者为什么我的方法行不通...这让我发疯。现在,几乎完全相同的每个JTable的方式(而不是上面的方式)需要大量重复。     
已邀请:
我猜想TableColumn对象根本不打算在不同的表之间共享,因此无论如何您都必须复制它们。 (我现在因为看文档而感到疲倦,如果需要的话,明天可以这样做。) 但是,您可以共享产生它们的代码:将其放在一种方法中,该方法可以返回新的TableColumnModel,也可以接收现有的方法并向其中添加X列。然后,您只需调用此方法两次。     

要回复问题请先登录注册