我在设计模式下创建了多个标签,并将其命名为lab_1,lab_2,lab_3等。 现在我想使用for循环在它们上使用setText()。
for(int i=0; i<16; i++){
String var= "lab_"+i;
var.setText(i);
}
这显然没有用。但我无法想到别的东西。 现在是否可以将标签更改为标签数组(我还没有动态创建它们,而是从设计窗口创建它们。) 有什么帮助吗?
答案 0 :(得分:1)
你想要这样的东西??。
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);
}
答案 1 :(得分:0)
忽略循环并专注于这两行
String var= "lab_"+i;
var.setText(i);
您正试图在setText
上拨打var
这是一个字符串。由于您的标题涉及label
以及您关于setText
的示例,因此我们认为您希望使用setText
方法设置JLabel
的文字。
要解决您的问题,只需更改您的变量名称。
请注意,即使它可能解决了您所拥有的编译器错误(您没有告诉我们),您的程序也可能无法正常工作。
如果您期望标签中的每个字符串连接,那么在每次setText
调用时,您必须检索实际文本并连接。