컴파일시에 정확한 이름을 알 수없는 변수를 참조 할 수있는 방법은 없습니다. 유일한 옵션은 배열 (또는 다른 컬렉션) 사용 :
JLabel label0 = new JLabel();
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
JLabel label4 = new JLabel();
JLabel label5 = new JLabel();
JLabel label6 = new JLabel();
JLabel label7 = new JLabel();
JLabel label8 = new JLabel();
JLabel label9 = new JLabel();
JLabel[] label = new JLabel[] { label0, label1, label2, label3, label4, label5, label6, label7, label8, label9 };
for (int i = 0; i < 10; i++) {
label[i].setText("label" + i);
}
너무 (가능한 오타)를 입력 방지하려면를, 당신은뿐만 아니라 루프에서 레이블을 만들 수 있습니다
JLabel[] label = new JLabel[10];
for (int i = 0; i < 10; i++) {
label[i] = new JLabel();
label[i].setText("label" + i);
}
당신이 할 수있는 여전히 label[4]
구문을 사용하여 특정 레이블을 참조하십시오. 배열은 0에서 인덱싱되므로 label[0]
이 첫 번째 요소이고 label[9]
이 열 번째 (마지막) 요소임을 알 수 있습니다.
어떻게 작동하나요? ':'무엇을하고이 프로그램은 무엇을하고 있는지 설명해 주시겠습니까? –
@LakshyaGoyal 그 종류의 for-loop는 "for-each"루프라고 불립니다. [docs] (http://docs.oracle.com/javase/1.5.0/docs/guide/language /foreach.html). ':'는 "on"을 의미하므로, 위의 예제를 다음과 같이 읽을 수 있습니다 : "레이블상의 각 JLabel l에 대해" – Frakcool
@Frakcool Thanks! – GKFX