假设我们有一个复选框:JCheckBox lang_1 = new JCheckBox("English");
此外,我们还有一个绑定到ActionListener的变量,因此在ActionEvent发生时它会更改。这是ActionEvent中的变量:(String) abbr = JComboBox<ComboItem> comboBox.getSelectedIndex().toString();
现在,我的abbr等于1,所以我想lang_1.setEnabled(true);
有什么办法可以像我使用lang_1那样将“ lang_”与abbr混合使用?
(在jQuery中,您可以这样做:$("lang_"+abbr).doSomethingFunction();
)
最佳答案
最简单的方法是将JCheckBoxes放入arraylist并使用其索引进行调用:
List<JCheckBox> boxes = new ArrayList<JCheckBox> ();
boxes.add(new JCheckBox("English"));
// populate the list with the other check boxes
String abbr = JComboBox<ComboItem> comboBox.getSelectedIndex().toString();
int index = Integer.parseInt(abbr);
boxes.get(index).setEnabled(true);
您需要在范围,数字解析等方面添加相关的错误处理代码。
关于java - 有什么方法可以在对象名称中使用变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12596180/