我有一些名为btnA1
,btnA2
,btnA3
,btnB1
,btnB2
,btnB3
的按钮,等等。我想知道如何通过组合变量值来引用它们。例如:
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
,但它不起作用。
答案 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");