抱歉第一次在这里提问。
如果我有这样的2D数组:
int[][] array2d = {{1, 2, 3}, {6, 7, 8}};
如何添加多个这样的1D数组:
int[] array1d = {3, 2, 1};
int[] array1d2 = {8, 7, 6};
这样我原来的2d数组就变成了这个:
int[][] array2d = {{1, 2, 3}, {6, 7, 8}, {3, 2, 1}, {8, 7, 6}};
注意:这是用于在按下按钮时将信息从JTextfield添加到JTable中。因此,2d数组将用作表中的数据。如果有更好的方法来实现这一点,我也会很感激。 =)
答案 0 :(得分:5)
你的阵列:
int[][] array2d = {{1, 2, 3}, {6, 7, 8}};
的大小是固定的,因此您必须创建一个具有足够容量来保存新值的副本:
int[][] newArray = Arrays.copyOf(array2d, 4);
newArray[2] = array1d;
newArray[3] = array1d2;
要将数据添加到JTable
,必须首先将数组转换为非基本类型,例如Integer
数组。一种选择是使用Apache Commons:
model.addRow(ArrayUtils.toObject(array));
表示阵列的每一行。
答案 1 :(得分:1)
数组是固定大小的,所以要附加它你需要调整数组的大小,看看java.util.Arrays。
然后设置数组位置
arra2d[index] = array1d;
你有没有理由不使用
TableModel.addRow(dataArray);