gpt4 book ai didi

java - 如何增加使用 for 循环创建的 jlabels 的变量名?

转载 作者:行者123 更新时间:2023-11-30 08:06:42 24 4
gpt4 key购买 nike

java代码:

for (int i = 0; i < 10;++i) {
if (i == 9){
lbl_ichar.setText(String.valueOf(word.charAt(i)));
}
}

此代码显示错误消息(编译时错误:找不到符号 symbol: variable class lbl_ichar) under word lbl_ichar.但我已经创建了变量名的jlabels lbl_0char,lbl_1char,lbl_2char...... 最多 lbl_9char

我想通过名称 lbl_ichar 来调用,而不是使用 lbl_9char。在 java 中这可能吗?如果可以,如何编码?

最佳答案

看起来你正试图在运行时动态创建一个变量名:

JLabel lbl_1char = new JLabel();
JLabel lbl_2char = new JLabel();
// ...

for (int i = 0; i < 10; ++i) {
lbl_ichar.setText(String.valueOf(word.charAt(i)));
// ^
}

这是行不通的。您不能在运行时创建变量名。改为使用数组:

JLabel[] lbl_char = new JLabel[10];
lbl_char[0] = new JLabel();
lbl_char[1] = new JLabel();
// ...

for (int i = 0; i < lbl_char.length; i++) {
lbl_char[i].setText(String.valueOf(word.charAt(i)));
}

或者,更好的是,不使用原始数组,而是使用 ArrayList:

List<JLabel> lbl_char = new ArrayList<>();
lbl_char.add(new JLabel());
lbl_char.add(new JLabel());
// ...

for (JLabel lbl : lbl_char) {
lbl.setText("Whatever");
}

关于java - 如何增加使用 for 循环创建的 jlabels 的变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34195749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com