Java 在两个单独的JTable中显示不同的数据

Java 在两个单独的JTable中显示不同的数据,java,arrays,swing,Java,Arrays,Swing,数组数据[][]在循环中存储正确的值。 然后我将数组添加到ArrayList中,但这就像在之后更改数据数组的值时,ArrayList中的所有对象都在更新一样 如何分别存储每个对象[]的值 for (int i = 0; i < Materia.length; i++) { for (int j = 0; j < Materia[i].Aluno.length; j++) { data[j][0] = Materi

数组数据[][]在循环中存储正确的值。 然后我将数组添加到ArrayList中,但这就像在之后更改数据数组的值时,ArrayList中的所有对象都在更新一样

如何分别存储每个对象[]的值

for (int i = 0; i < Materia.length; i++) {
        for (int j = 0; j < Materia[i].Aluno.length; j++) {                
            data[j][0] = Materia[i].Aluno[j].Nome;
            System.out.println(data[j][1] = Materia[i].Aluno[j].Nome);//checking outpit, its displaying the correct data I want
            data[j][1] = Materia[i].Aluno[j].nota;
            data[j][2] = Materia[i].Aluno[j].frequencia;
        }
        tabs.add(data);  //arraylist to storer object data          
        tabela[i] = new JTable((Object[][]) tabs.get(i), Names);//populate default table model
        conteudo2[i] = new JPanel();
        conteudo2[i].add(new JLabel(Materia[i].Nome));            
        conteudo2[i].add(new JScrollPane(tabela[i]));

    }

将数组的数据数组添加到选项卡列表中

由于在将新对象添加到arrayList之前不创建新对象,因此它是同一个对象,因此在更新选项卡列表中的对象时,也会更新数据数组中的内容

在将数据数组添加到列表之前,需要创建一个新的数据数组

在将此新对象添加到选项卡列表之前,可以通过使用System.arrayCopy方法创建新的二维阵列来实现此目的:

Object[][] myDataCopy = new Object[data.length][];
for(int i = 0; i < data.length; i++) { 
    myDataCopy[i] = new XXYY[d.length];
    System.arraycopy(data[i], 0, myDataCopy[i], 0, data[i].length);
}

将数组的数据数组添加到选项卡列表中

由于在将新对象添加到arrayList之前不创建新对象,因此它是同一个对象,因此在更新选项卡列表中的对象时,也会更新数据数组中的内容

在将数据数组添加到列表之前,需要创建一个新的数据数组

在将此新对象添加到选项卡列表之前,可以通过使用System.arrayCopy方法创建新的二维阵列来实现此目的:

Object[][] myDataCopy = new Object[data.length][];
for(int i = 0; i < data.length; i++) { 
    myDataCopy[i] = new XXYY[d.length];
    System.arraycopy(data[i], 0, myDataCopy[i], 0, data[i].length);
}

您希望Arraylist中有什么?我希望添加Arraylist时对象[][]数据处于相同的状态。您希望Arraylist中有什么?我希望添加Arraylist时对象[][]数据处于相同的状态。非常感谢,试图理解并在我的代码上实现它解决了问题吗?我不明白什么是dMatrix。环顾四周,我发现它可能是TypeofData[]d,至少我理解了这个概念,但仍然必须正确地实现它。非常感谢您,尝试理解并在我的代码上实现它解决了问题吗?我不理解什么是dMatrix。环顾四周,我发现它可能是TypeofData[]d,至少我理解了这个概念,但仍然必须正确地实现它。