我正在尝试为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)。谢谢!
答案 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()
。