我有一个带有变量“优先级”的 TrainingClass 对象的 ArrayList。
我正在制作一个设置框架,其中对于当前在 ArrayList 中的每个元素,我都会在其中设置一个用户设置优先级的 TextField。
它是这样生成的
for (TrainingClass tclass : mTrainingClasses) {
//Loop the ArrayList
JTextField txtPriority = new JTextField(3);
txtPriority.setBounds(10,10,100,20);
txtPriority.setText("" + tclass.getPriority());
getContentPane().add(txtPriority);
}
现在我要添加一个更改侦听器,但是...
一旦我知道哪个字段已更改,如何访问 ArrayList mTrainingClasses 的正确元素?
例如,在 php 中,我会简单地制作如下内容:
$mTrainingClasses->$changed_field->setPriority($new_value);
但是,据我了解,我不能在 Java 中做到这一点。那么,我应该如何进行呢?
我是否需要为每个元素手动设置字段名称和侦听器?我确定还有其他解决方案,但目前我不知道。
(我知道我也可以将 ArrayList 用于字段,例如
txtPriority.add(new JTextField(3));
但是在这种情况下,我怎么知道哪个索引对应于已更改的字段?)