gpt4 book ai didi

java - 在 java 中添加对象名称开头并设置文本

转载 作者:行者123 更新时间:2023-12-02 06:56:49 25 4
gpt4 key购买 nike

我正在尝试快速学习 java 并寻找一种方法来在我的 java 应用程序中设置多个标签的文本。

我有一个java应用程序,可以启动\停止\检查Windows服务的状态。我有一个方法,它传递这些服务名称的数组,并且每个服务都有一个包含其状态的相应标签。例如,数组中包含 DummyService1,并且有一个名为 txt_DummyService1 的标签。我的方法(简短版本)执行以下操作

public static void Checker(String Array[])
{
//check status of DummyService1
"txt_"+DummyService.Text = "started";
}

我意识到这不是您执行此操作的方式,但是有人可以帮助我找到执行此操作的最佳方法吗?

最佳答案

无法以这种方式从String生成“变量”名称。是的,您可以使用反射,但这已经引发了关于设计质量的问题。

相反。将每个标签放入按其名称键入的 Map 中。

private Map<String, JLabel> labelLookup = new HashMap<>(25); // Instance variable.

在构造函数中(或构建 UI 的任何位置),将每个标签添加到 Map

/* Other UI code */
labelLookup.put("DummyService1", txt_DummyService1);

现在,当您需要进行更改时,只需按标签名称查找标签即可

// You had better have a VERY good reason for making this static...
public void checker(String services[])
{
for (String service : services) {
JLabel label = labelLookup.get(service);
if (label != null) {
label.setText("Started");
}
}
}

例如...

关于java - 在 java 中添加对象名称开头并设置文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225621/

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