java - 从 ArrayList 获取编辑的 JTextField
问题描述
我有一个在运行时生成的 JTextField 的 ArrayList,这些 JTextField 由 JTable 中的选定行填充。我想让用户编辑 JTextFields 中的值,以便稍后更改数据库并更新 JTable,但我无法找出编辑了哪个 JTextField。
for(int i = 0; i < detailTextFields.size(); i++) {
detailTextFields.get(i).getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
something(e);
}
public void removeUpdate(DocumentEvent e) {
something(e);
}
public void insertUpdate(DocumentEvent e) {
something(e);
}
public void something(DocumentEvent e) {
System.out.println(e);
}
});
}
我目前通过硬编码每个 JTextField 的 DocumentListener 来完成这项工作,但是 JTextField 的数量可能会因选择的选项卡而异,因此我不能再使用它:
JTextField pid = detailTextFields.get(0);
JTextField sid = detailTextFields.get(1);
pid.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
something(e);
}
public void removeUpdate(DocumentEvent e) {
something(e);
}
public void insertUpdate(DocumentEvent e) {
something(e);
}
public void something(DocumentEvent e) {
System.out.println(e);
}
});
sid.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
something(e);
}
public void removeUpdate(DocumentEvent e) {
something(e);
}
public void insertUpdate(DocumentEvent e) {
something(e);
}
public void something(DocumentEvent e) {
System.out.println(e);
}
});
如何检索已编辑的 JTextField 或者我应该采用不同的途径来获取此信息?
解决方案
推荐阅读
- javascript - 在执行下一个在 NodeJS 中使用该数据的函数之前完成一个 readln 函数
- python-3.x - cv2.cvtColor 神秘地杀死了 python 工作者而不抛出异常
- python-3.x - .map 函数 Tensorflow 数据集出错
- ios - becomeFirstResponder() 没有调出键盘 - Swift 5 - iOS 14
- python - 将绘图函数链接到“plt.ax”
- c - 尝试打印队列时出现分段错误
- json - 解决“超过 30 次重定向”
- spring-cloud - Spring Cloud Gateway 路由不起作用,Hystrix Dashboard 加载崩溃
- nuxt.js - Nuxt Lang 属性配置
- android - Android:具有动态列数的列表视图