java - 有没有办法在对象名称中使用变量?

标签 java syntax

假设我们有一个复选框:

JCheckBox lang_1 = new JCheckBox("English");

此外,我们还有一个绑定(bind)到 ActionListener 的变量,因此它会在 ActionEvent 发生时发生变化。这是 ActionEvent 中的变量:

(String) abbr = JComboBox<ComboItem> comboBox.getSelectedIndex().toString();

现在,我有 abbr 等于 1 所以我想 lang_1.setEnabled(true);

有什么方法可以将“lang_”与 abbr 混合使用,就像我使用 lang_1 一样?

(在 jQuery 中你可以这样做:$("lang_"+abbr).doSomethingFunction();)

最佳答案

最简单的方法是将 JCheckBoxes 放在数组列表中并使用它们的索引调用它们:

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/

相关文章:

java - 将 JPanel 设置为与其包含的 JTable 相同的大小

sql-server - 使用 T-SQL 高效删除记录而不使用 IN 子句

java - 从主 Java 调用方法

java - Java 中的已检查异常与未检查异常

java - 无法提取 NotoSansCJKsc-adobe reader 中的常规字体错误?

java - 使用仅调用重写的父类(super class)方法的子类方法有好处吗?

if-statement - PHP、C++等语法解释

MYSQL 查询 - 尝试从外部 MySQL 数据库构建 HTML 表

haskell - Haskell 中的 Pragma 语法

pointers - Go 在哪里定义 p.Field(与 (*p).Field 相对)是有效语法,即使 p 是指向结构的指针?