我正在迭代一个ArrayList,并且我想要创建新的JLabel。 JLable名称应该是我列表中的值。
ArrayList<String> fieldsList = new ArrayList<String>();
for (int numberOfFields = 0; numberOfFields <= fieldsList.size(); numberOfFields++) {
String fieldName = fieldsList.get(numberOfFields);
JLabel "value from list"= new JLabel(fieldName + ":"); //here, in "" the name of JLabel should be the same as fieldName
}
对此有一个简单的解决方案,但我找不到它
答案 0 :(得分:1)
你不能这样做。另一种方法是创建jlabel列表
ArrayList<String> fieldsList = new ArrayList<String>();
JLabel[] lablearr=new JLabel[fieldsList.size()]; //lable array
for (int numberOfFields = 0; numberOfFields < fieldsList.size(); numberOfFields++) {
String fieldName = fieldsList.get(numberOfFields);
lablearr[numberOfFields]= new JLabel(fieldName + ":");
}
现在,如果您想调用特定的jlabel,可以使用
lablearr[i]
例如,如果你想调用一个名为mylable:
的jlable,那么你循环遍历arraylist - fieldsList
并找到&my; mylable&#39;的索引。并通过该索引调用jlable。
答案 1 :(得分:0)
我就这样做了:
for (String fieldName : fieldsList) {
{
{
JLabel lbl = new JLabel(fieldName + ":");
lbl.setBounds(33, counter, 130, 14);
getContentPane().add(lbl);
}
counter += 25;
}
}
它对我有用