2013-10-01 146 views
0

:)爪哇 - 循環和GUI

我想讓這樣的事情 - 我有例如四個標籤:

lblError1; 
lblError2; 
lblError3; 
lblError4; 

所有他們set.Visible(false);

現在我想循環,將這些標籤設置爲可見。如果k = 2,則前兩個標籤設置爲可見。如果k = 4,則前四個標籤設置爲可見。

我的想法:

int k=2; 
for (i=1; i<k+1; i++) { 
    (lbl.Error + i).setVisible(true); 
} 

這是行不通的。有一條規則:我必須循環制作。如果還有另一種好方法,如何以循環的方式高效地完成它,請告訴我。否則告訴我,如何製作適用於此解決方案的循環。

非常感謝! :))

+1

您應該陣列讀了。 – ppeterka

+0

您不能在Java中使用字符串連接來表示變量名稱。 – blgt

回答

3

爲什麼不能有一個標籤數組,並使用for循環根據k的值設置其可見性。它會比你的(lbl.Error + i)更可讀(我懷疑它是否會起作用)。

for (int i=0; i<k; i++) { 
    labels[i].setVisible(true); // where labels is the array of label. 
} 

編輯: -

說,如果你正在使用JLabel,那麼你可以創建這樣的標籤組成的數組: -

JLabel[] labels = new JLabel[yourArraySize]; 
for (int i=0; i<labels.length; i++) { 
    labels[i] = new JLabel(); // You can also use JLabel(labelText) constructor. 
} 
+0

是的,謝謝。循環和你的解決方案看起來不錯,它會工作,但你可以告訴我,如何使這樣的數組? –

+0

@ TomsBugna - 檢查我的答案中的編輯。 – SudoRahul