如何动态创建具有不同名称的JLabel

时间:2016-10-13 17:06:32

标签: java jlabel dynamic-variables

我正在尝试为ArrayList PantryNames中的每个名称不断创建JLabel。这是我目前的代码:

for(int i = 0; i < FoodApp.getPantryNames().size(); i++){
        JLabel lblNewLabel = new JLabel((String) FoodApp.getPantryNames().get(i));
        contentPane.add(lblNewLabel, BorderLayout.WEST);
    }

我想将lblNewLabel设置为&#34;成分&#34; +(i + 1)。例如,第一种食物是成分1,依此类推。另外,在contentPane中,lblNewLabel必须是成分+(i + 1)。谢谢!

1 个答案:

答案 0 :(得分:0)

不是变量如何在Java中工作,你不能像这样动态设置变量名。相反,我会使用List<JLabel>

ArrayList<JLabel> labels = new ArrayList<JLabel>();
for(int i = 0; i < FoodApp.getPantryNames().size(); i++){
    JLabel temp = new JLabel((String) FoodApp.getPantryNames().get(i));
    labels.add(temp);
    contentPane.add(temp, BorderLayout.WEST);
}

或者,只要您再次需要标签,就可以致电contentPane.getComponents()