Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用字符串变量作为标签名称来设置swing标签的文本?_Java - Fatal编程技术网

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

Java 如何使用字符串变量作为标签名称来设置swing标签的文本?,java,Java,我有一个字符串,例如: String labelName = "lblColaStock"; 这也是Swing标签的名称。我想在这个标签上粘贴setText()。比如: labelName.setText("some text"); 但是,每次执行时标签和字符串可能不同。一次可能是: String labelName = "lblColaDietStock"; 现在我要更改的标签名为lblcladietstock 如何使用字符串变量作为标签名称来更改标签的文本?您的意思可能是这样的: Jl

我有一个字符串,例如:

String labelName = "lblColaStock";
这也是Swing标签的名称。我想在这个标签上粘贴
setText()
。比如:

labelName.setText("some text");
但是,每次执行时标签和字符串可能不同。一次可能是:

String labelName = "lblColaDietStock";
现在我要更改的标签名为
lblcladietstock


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

您的意思可能是这样的:

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

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

myMap.get(labelName).setText("some text");
Jlabel Jlabel=new Jlabel();
字符串labelName=“lblColaStock”;
HashMap myMap=新HashMap();
myMap.put(labelName,jLabel);
myMap.get(labelName.setText(“一些文本”);

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

代码如下所示:

JLabel label = //label variable 
Map<Integer, JLabel> map = new HashMap<>();
map.put(1, label);
map.get(1).setText("label text");
JLabel=//标签变量
Map Map=newhashmap();
地图放置(1,标签);
get(1).setText(“标签文本”);

在您的代码中有两个错误,第一个错误是在映射声明中遗漏了键和值,即使您没有这样做,您也会从映射中获取字符串并尝试在其上调用方法
setText()
myMap.get(1.setText)(“一些文本”)这是第二个错误。

您计划在地图中显示什么。您将标签名和一个整数放在以标签名为键的映射中。您是否计划在映射中使用Swing JLabel?您不能设置整数的文本。您要设置JLabel的文本。因此映射应该包含jlabel,而不是整数。此外,地图的键是字符串。因此,调用get(1)没有意义:1不是字符串,也不是标签的名称。您真的需要
映射吗?正如OP所说的
标签的
名称与
字符串相同?对我来说,这与
标签.setText(“标签文本”)具有相同的效果。但是我想做
lblColaStock.setText(“标签文本”)。但是,
lblColaStock
当前是字符串形式。我想使用这个
string.setText
…你真的需要
地图吗
,因为OP说
标签的
名称
字符串
相同?@shubhandu现在我不知道OP想做什么。希望他回来时能对自己的问题多做些解释。@petermm我更新了问题。我希望它现在更清楚