2017-03-02 18 views
-2

以下に示す名前(setName)を与えるときに、オブジェクトを個別に変更する方法が不思議です。名前でJava呼び出しオブジェクトを呼び出して使用する

コード:

//textfield & labels 
    String[] arrLabelsKlanten = new String[] {"KlantID", "Gebruikersnaam", "Wachtwoord", "Voornaam", "Achternaam", "Straat", "Huisnummer", "Gemeente", "Email", "Telefoonnr"}; 
    for (int i = 0; i < arrLabelsKlanten.length; i++) 
    { 
     if(i < 5) 
     { 
      lblLabelsKlanten = new ClassLabels.lblIngelogdAls(arrLabelsKlanten[i] + ":", 350, 510 + i * 50, 300, 50); 
      lblLabelsKlanten.setName(String.valueOf(i)); 
      add(lblLabelsKlanten); 

      txtTextvakken = new ClassTextfields.txtAdmin(500, 515 + i * 50, 300, 30); 
      txtTextvakken.setName(String.valueOf(i)); 
      add(txtTextvakken); 
     }else if (i >= 5) 
     { 
      lblLabelsKlanten = new ClassLabels.lblIngelogdAls(arrLabelsKlanten[i] + ":", 910, 260 + i * 50, 300, 50); 
      lblLabelsKlanten.setName(String.valueOf(i)); 
      add(lblLabelsKlanten); 

      txtTextvakken = new ClassTextfields.txtAdmin(1050, 265 + i * 50, 300, 30); 
      txtTextvakken.setName(String.valueOf(i)); 
      add(txtTextvakken); 
     } 
    } 

} 

答えて

0

あなたの文字列はlblLabelKlantenという名前の配列に格納され、valueOf(i)はあなたのイテレータ、配列ではありません。

lblLabelKlanten.setName(arrLabalKlanten[i]);は、配列内のStringを取得し、オブジェクトの名前を文字列値に設定する必要があります。

少なくとも私はそれがあなたが求めている質問だと思いますか?

+0

まずはあなたのコメントをありがとうございますが、それは私が意味するものではありませんでした...私が意味したのは、すべてのテキストフィールドは文字列を配列から取得しますが、実際にはテキストフィールドの名前は私ですiteratorなので、各テキストフィールドに対して0,1,2,3、...となります。私の質問は、どうやってそれを作ることができるのかです。例えば、textfield 3はもう使用できません。 –

関連する問題