如何通过组合变量值引用JButton?

时间:2013-11-17 16:44:49

标签: java

我有一些名为btnA1btnA2btnA3btnB1btnB2btnB3的按钮,等等。我想知道如何通过组合变量值来引用它们。例如:

String var1 = "A";
int var2 = 2;
btn[var1+var2].setText("foo"); // <- This line doesn't work. What do I use in place of this one?

据推测,上述代码将引用btnA2,但它不起作用。

3 个答案:

答案 0 :(得分:3)

你不能用Java做到这一点。但您可以将按钮存储在一个数组中。

JButton [] arr = new JButton[6];
//add buttons in the array
btn[1].setText("foo");

Map

Map<String, JButton> m = new HashMap<>();
m.put("A2", btnA2)

m.get(var1+var2).setText("foo");

答案 1 :(得分:0)

您无法动态指定按钮名称。

 btn[var1+var2].setText("foo");//This is not possible in java

或者设计一个JButton

的数组
JButton[] buts=new JButton[]{btnA1, btnA2, btnA3};

for(JButton but: buts){
  but.setText("foo");
}

答案 2 :(得分:0)

最好的选择是地图:

Map<String, JButton> btn = new HashMap<>();
btn.get(var1+var2).setText("foo");