我在显示由同一JTables
创建的两个不同AbstractTableModel
时遇到问题。我并不认为显示AbstractTableModel
的代码很重要,但如果我被要求,我也可以提供它。
我只调用了两次扩展此AbstractTableModel
的类,用于创建表的两个arraylists。
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
,所以我认为它与我称之为班级的方式有关。
答案 0 :(得分:2)
问题来自不合适的static
关键字。:
public static int [][] data;
static
表示该变量的值对于所有实例都是相同的。相反,请将data
放在SwitchTableModel
内,而不是static
。这将立即解决您的问题。
类似的东西:
public class SwitchTableModel extends AbstractTableModel {
private int[][] data;
//... the rest of your current code.
}
答案 1 :(得分:0)
我认为传递给SwitchTableModel user_decide和duplicates的值都具有相同的值。否则上述代码中没有问题。
答案 2 :(得分:-1)
尝试将两个单独的滚动窗格添加到面板,然后将JTable添加到滚动窗格。除此之外,你还不清楚你的显示问题到底是什么,JTables没有出现,或者数据是不是不同......等等