1
所以具体来说,我有一个填充JLabels的二维数组。如果从另一种方法,我得到一个JLabel,我们知道肯定存在于该数组中,如何获得数组中的标签坐标。的代码 部分是(P.S该数组是[9] [5]):我怎样才能找到一个对象在二维数组中的位置?
labelsArrayColumns[1][1] = jLabel11;
labelsArrayColumns[2][1] = jLabel21;
labelsArrayColumns[3][1] = jLabel31;
labelsArrayColumns[4][1] = jLabel41;
labelsArrayColumns[5][1] = jLabel51;
labelsArrayColumns[6][1] = jLabel61;
labelsArrayColumns[7][1] = jLabel71;
labelsArrayColumns[8][1] = jLabel81;
labelsArrayColumns[9][1] = jLabel91;
所以,如果我有jLabel81我怎样才能在阵列它是哪个位置发现的? 我们期待[8] [1]。
所以你的意思是这样的,是正确的? (int j = 1; j <5; j ++)if(labelsArrayColumns [i] [0] j] .equals(actionLabel)){ return labelsArrayColumns [i] [j]; } } } return null; }' – hedgehog 2013-05-01 18:33:06
好吧,是的,这是我的第一个建议。但是你的例子会返回特定的对象(我认为你已经知道了?)。当你想知道位置时,我会在循环外声明i和j,以便在找到对象后可以读取它们的值:'int i,j; outerloop: 为(I = 0; I <9;我++){ 对于(j = 0;Ĵ<5; J ++) 如果(labelsArrayColumns [i] [j] .equals(actionLabel)打破outerloop; } ' – 2013-05-01 19:42:49
但只有当它发现标签将返回它,否则它会继续寻找它,它会以某种方式返回它,因为它存在,所以它会找到它......实际上没有理由使用“打破outerloop;“ – hedgehog 2013-05-01 19:55:54