我有一个字符串,如:
String labelName = "lblColaStock";
这也是Swing标签的名称。我想在此标签上setText()
。类似的东西:
labelName.setText("some text");
但是,每次执行时标签和字符串都可以不同。有一次它可能是:
String labelName = "lblColaDietStock";
现在我要更改的标签名为lblColaDietStock
。
如何使用字符串变量作为标签名称来更改标签的文本?
答案 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");