java - 使用变量值来选择要更改的 UI 标签

标签 java function variables object

在 Java 应用程序 UI 中,有 10 个带有名称的标签:

mainLabel1
mainLabel2
...
mainLabel10

和一个原始变量(整数):

int x = 4;

假设“x”值在应用程序的执行过程中不断变化,因此该值是未知的。有一次,应用程序需要将其中一个标签的可见性更改为 true:

mainLabelX.setVisible(true);

问题 是否有使用“x”的值(示例为 4)作为标签名称的最后一部分的简单/简单解决方案,以便对 setVisible 的调用如下所示:

mainLabelX.setVisible(True);

“x”变量的值可以用作标签名称的一部分吗?目前,我使用了很多 if 语句,它绝对不是唯一/最好的解决方案。

最佳答案

在任何情况下,您都必须检查哪个 Label 满足条件,因此您需要 Map<Integer, Label> :

Map<Integer, Label> labelMap = new HashMap<Integer, Label>():
...

Label l = map.get(x);
l.setVisible(true);

如果您将所有标签命名为:mainLabel1 , mainLabel2你应该给它们添加一个字段名,将它们保存在 List 中并迭代它以获得正确的 List :

List<Label> list = new ArrayList<>();

for(Label l: list){
   if(label.getName().equals("aName"))
   l.setVisible(true);
}

虽然我不认为后者是一个优雅的解决方案。

关于java - 使用变量值来选择要更改的 UI 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18655417/

相关文章:

mysql - 如何将 "mysql source"命令与 mysql 变量一起使用?

python - 在 while 循环之外访问变量,Python

c - 使用另一个函数中定义的变量

java - 数组如何在 Java 内部工作?

javascript - 如果我调用一个参数比定义接受的参数多的函数,会发生什么情况?

javascript - 函数声明和函数表达式可以互换使用吗?

python - 输入不是字符串或特定长度时的Python函数错误

java - 使用默认路径

Java GridBagConstraints 异常

java - @webservice继承java