在Java(Netbeans)中使用for循环对多个标签使用setText()

在Java(Netbeans)中使用for循环对多个标签使用setText(),java,netbeans,Java,Netbeans,我在设计模式下创建了多个标签,并将它们命名为lab_1、lab_2、lab_3等等。 现在我想使用for循环对它们使用setText() for(int i=0; i<16; i++){ String var= "lab_"+i; var.setText(i); } for(inti=0;i忽略循环并关注这两行 String var= "lab_"+i; var.setText(i); 您试图在var上调用setText,这是一个字符串。由于您的标题谈到label,示例谈到

我在设计模式下创建了多个标签,并将它们命名为lab_1、lab_2、lab_3等等。 现在我想使用for循环对它们使用setText()

for(int i=0; i<16; i++){
   String var= "lab_"+i;
   var.setText(i);
}

for(inti=0;i忽略循环并关注这两行

String var= "lab_"+i;
var.setText(i);
您试图在
var
上调用
setText
,这是一个字符串。由于您的标题谈到
label
,示例谈到
setText
,我相信您希望使用it方法设置
JLabel
的文本

要解决这个问题,只需更改变量名


请注意,即使它可能会解决您的编译器错误(您没有告诉我们您有),您的程序也可能无法按预期工作


如果您希望标签中的每个字符串都连接起来,那么在每次调用
setText
时,您必须检索实际文本并连接起来。

您想要这样的东西吗

   String EMPTY_SPACE="";

    JLabel [] jLabels ={lab_1, lab_2, lab_3};

    for (int i = 0; i < jLabels.length; i++) {
        jLabels[i].setText(i+EMPTY_SPACE);
    }
字符串空_空格=”“;
JLabel[]jLabels={lab_1,lab_2,lab_3};
for(int i=0;i
我不明白你的建议。我已经创建了这些JLabel,现在我只想在for循环中使用它们。我不想调用lab_1.setText(I);全部20个。@toothie那么您希望如何称呼
setText
String
没有此方法。@toothie,如果您听从他的建议并去掉
(String)。setText()
调用尝试,最重要的是,发布关于标签的代码。此外,字符串是不可变的。@tgm1024我理解字符串的含义。我想你误解了我的问题。现在问题解决了。Thanks@toothie我没有误解你的问题,因为我的建议是改变你的变量名
setText
在不提供此方法的字符串变量上。我还为您提供了建议,以防您想要连接(但显然不是这样,所以可以忽略)。但您的主要问题是,您试图在字符串上调用
setText
,而不是
JLabel
的实例,在您的情况下,该实例是从它们的数组中检索的。不是吗?使用
JLabel
array
JLabel
s的
List
。不过如果您知道,您想如何对齐这些
JLabel
s在视图上,那么就可以很容易地提供一个答案。GUI Builder往往会使这方面的工作变得困难:-)只要简单地画出视图应该是什么样子,就可以帮助我们提供一个非常简单的解决方案answer@toothie,请删除netbeans标记。这与您正在使用的IDE无关,您所要做的就是在这里重定向netbeans查询。谢谢。你救了我一天:)