在Java(Netbeans)中使用for循环对多个标签使用setText()
我在设计模式下创建了多个标签,并将它们命名为lab_1、lab_2、lab_3等等。 现在我想使用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,示例谈到
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查询。谢谢。你救了我一天:)