获取从ArrayList编辑的JTextField

时间:2018-07-03 18:52:12

标签: java arrays

我有一个在运行时生成的JTextField的ArrayList,这些列表由JTable中的选定行填充。我想允许用户编辑JTextField内部的值,以便以后更改数据库并更新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,还是应该采用其他途径来获取此信息?

0 个答案:

没有答案