0

我在显示JTables由相同创建的两个不同的AbstractTableModel. 我真的认为展示 的代码并不重要AbstractTableModel,但如果我被要求,我也可以展示它。

我只调用了两次相同的类,该类AbstractTableModel为我用来创建表的两个数组列表扩展了这个类。

final SwitchTableModel model = new SwitchTableModel(user_decide);
final SwitchTableModel model1 = new SwitchTableModel(duplicates);
JTable table = new JTable(model);
JTable table1 = new JTable(model1);

JFrame frame = new JFrame ("Results");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JPanel grid = new JPanel();
grid.add(toolbar);
grid.add(toolbar1);
grid.add(table);
grid.add(table1);
frame.add(grid);
frame.pack();
frame.setVisible(true);

我还创建了相同的工具栏,我也认为这无关紧要,这就是我不发布代码的原因 - 如果您认为需要,我会这样做。

问题是最后我看到同样的JTable两次,所以我想这与我调用类的方式有关。

4

3 回答 3

2

问题来自不适当的static关键字。:

public static int [][] data;

static意味着该变量的值对于您的所有实例都是相同的。相反,把你放在你的data里面SwitchTableModel,不要成功static。这将立即解决您的问题。

就像是:

public class SwitchTableModel extends AbstractTableModel {
    private int[][] data;
    //... the rest of your current code.
}
于 2013-02-20T14:48:11.490 回答
0

我认为传递给 SwitchTableModel user_decide 的值和重复值都具有相同的值。否则上面的代码没有问题。

于 2013-02-20T14:46:47.910 回答
-1

尝试将两个单独的滚动窗格添加到您的面板,然后将 JTables 添加到滚动窗格。除此之外,您不清楚您的显示问题到底是什么,无论 JTables 没有显示,或者数据是否不同......等等

于 2013-02-20T14:30:56.833 回答