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