使用字符串调用对象-Java

使用字符串调用对象-Java,java,swing,jbutton,Java,Swing,Jbutton,以以下格式用作数据库的文本文件 btnBar/Cafe/3.5 btnBar_0/Bebida/1.0 btnBar_1/Sumo/2.0 ^ ^ ^ | | | btn var |text|price 图形用户界面: 当扫描仪有下一行时,它必须设置每个gui按钮的名称、价格……我应该使用什么方法?在您的情况下,我想创建一个映射,如下所示: Map<String, JButton> buttons = new HashMap<&g

以以下格式用作数据库的文本文件

btnBar/Cafe/3.5
btnBar_0/Bebida/1.0
btnBar_1/Sumo/2.0
  ^       ^    ^
  |       |    |
btn var |text|price
图形用户界面:


当扫描仪有下一行时,它必须设置每个gui按钮的名称、价格……我应该使用什么方法?

在您的情况下,我想创建一个
映射,如下所示:

Map<String, JButton> buttons = new HashMap<>();
buttons.put("btn1", button1);
buttons.put("btn2", button2);
buttons.put("btn3", button3);

听起来很像X-Y问题。你为什么要这么做?
desiredString
实际上来自哪里?您是否需要将按钮放在某种类型的集合中,以便键可以引用它们?比如在阵列或地图中?@David说得很对。是的,如果我们更多地了解整个问题,而不是你如何解决它,那么肯定会有更好的解决方案。不,最好展示更多的程序,这样我们就可以看到你在尝试做什么。当你应该专注于引用时,你把太多的注意力放在了变量名上。编译代码中几乎不存在变量名。“可能更正确,对吗?”不,不太正确。@David、HovercraftFullOfEels和我试图弄明白的是,尽管可以通过
字符串
引用来查找按钮,但实际上这是最好的方法的情况非常少。不起作用:“at java.awt.event.InvocationEvent.dispatch(未知源)”@AndréMoreira你改变了你问题的背景,第一个版本根本没有这么说,你能给我们看看你的try please吗?那会让你犯错误吗?哦,它毕竟起作用了,谢谢。我在比赛中搞砸了!聪明有效的解决方案
Map<String, JButton> buttons = new HashMap<>();
buttons.put("btn1", button1);
buttons.put("btn2", button2);
buttons.put("btn3", button3);
String desiredString = "btn2";
buttons.get(desiredString). //Your action here