首页 > 解决方案 > 动态引用不同的 JLabel

问题描述

我有一堆JLabel,命名方便,如:labelhely_0labelhely_1等等。它们也ArrayList按此顺序存储在一个命名的 helyek 中。我想随机访问它们,所以我得到了arraylist的大小,并用它来生成数字,在这种情况下,JLabel 像这样 的所需“索引”int ujindex=helyek.indexOf("labelhely_"+indexx); 有没有办法以它认为的方式转换字符串这是对象的名称吗?我需要这个,因为我正在从 ArrayList 中删除那些弄乱索引的东西。

标签: javastringarraylistindexof

解决方案


您所说的不起作用,您ArrayList包含 JLabels 而不是 String 实例,因此,indexOf("labelhely_0")将返回 -1 (意思是:未找到)。毕竟,该字符串"labelhely_0"不在您的列表中(不过,包含该文本的 JLabel 是)。

没有办法将字符串“转换”到 JLabel:转换是断言事物是另一事物的行为。(您可能已经了解到它可以转换事物;这不是强制转换所做的;这仅适用于原语,字符串和 jlabel 不是也不能成为原语)。

鉴于它们的顺序相同并且您有 indexx,ujindex 将等于 indexx,所以整个操作对我来说毫无意义。


推荐阅读