【发布时间】:2012-11-10 13:12:17
【问题描述】:
我有一个包含变量“优先级”的 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));
但是在这种情况下,我怎么知道哪个索引对应于已更改的字段? )
【问题讨论】:
标签: java swing variables dynamic jtextfield