java - 动态引用不同的 JLabel
问题描述
我有一堆JLabel
,命名方便,如:labelhely_0
,labelhely_1
等等。它们也ArrayList
按此顺序存储在一个命名的 helyek 中。我想随机访问它们,所以我得到了arraylist的大小,并用它来生成数字,在这种情况下,JLabel
像这样
的所需“索引”int ujindex=helyek.indexOf("labelhely_"+indexx);
有没有办法以它认为的方式转换字符串这是对象的名称吗?我需要这个,因为我正在从 ArrayList 中删除那些弄乱索引的东西。
解决方案
您所说的不起作用,您ArrayList
包含 JLabels 而不是 String 实例,因此,indexOf("labelhely_0")
将返回 -1 (意思是:未找到)。毕竟,该字符串"labelhely_0"
不在您的列表中(不过,包含该文本的 JLabel 是)。
没有办法将字符串“转换”到 JLabel:转换是断言事物是另一事物的行为。(您可能已经了解到它可以转换事物;这不是强制转换所做的;这仅适用于原语,字符串和 jlabel 不是也不能成为原语)。
鉴于它们的顺序相同并且您有 indexx,ujindex 将等于 indexx,所以整个操作对我来说毫无意义。
推荐阅读
- sql - 具有不同值的列上的索引是否值得?
- flutter - Firebase 消息仅在登录 Flutter 时接收
- c# - Aspnet Zero Boilerplate 的服务电话服务
- python - 如何从同一文件中定义的类中调用私有(文件范围)函数
- apache-spark - Encoder和CatalystSerde是什么关系
- bash - 如何用 bash 下载 Firefox?
- linux - 如何在多行中格式化linux mpstat输出
- javascript - 将 socket.io 配置为 wss 而不是 ws
- javascript - 如何在传单地图上添加叠加层?
- python - 在循环环境下将附加数据写入 xlsx 行而不覆盖的代码