如何使用字符串变量作为标签的名称来设置swing标签的文本?

时间:2017-11-18 17:40:32

标签: java

我有一个字符串,如:

String labelName = "lblColaStock";

这也是Swing标签的名称。我想在此标签上setText()。类似的东西:

labelName.setText("some text");

但是,每次执行时标签和字符串都可以不同。有一次它可能是:

String labelName = "lblColaDietStock";

现在我要更改的标签名为lblColaDietStock

如何使用字符串变量作为标签名称来更改标签的文本?

2 个答案:

答案 0 :(得分:1)

我可以理解你的问题,你需要创建映射,其中键是数字,值是标签。

代码将是这样的:

JLabel label = //label variable 
Map<Integer, JLabel> map = new HashMap<>();
map.put(1, label);
map.get(1).setText("label text");

在你的代码中你有2个错误,首先是你错过了地图声明中的键和值,即使你没有这样做,你从地图中获取String并尝试在其上调用方法setText()myMap.get(1).setText("some text");这是第二个错误。

答案 1 :(得分:-2)

可能你的意思是这样的:

Jlabel jLabel = new JLabel();
String labelName = "lblColaStock";

HashMap<String,JLabel> myMap = new HashMap();
myMap.put(labelName,jLabel);

myMap.get(labelName).setText("some text");