java - 在 DocumentListener 中访问 JTextField

标签 java swing jtextfield sudoku documentlistener

所以,我完成了数独求解器的制作,但我想改进它。为此,我需要以某种方式从 documentListener 访问我的 betterJTextField。我正在使用 documentListener 从我的 betterJTextFields 中实时读取,我遇到的问题是在 insertUpdate(DocumentEvent e) .

我需要到达 DocumentEvent 发生的 betterJTextfield 。例如,如果输入无效, betterJTextfield 将变为红色等。

如果您需要知道,我将所有的 betterJTextfield 都放在一个矩阵中。每个字段处理数独中的一个数字。

@Override
    public void insertUpdate(DocumentEvent e) {

       //Removed code which checks if the input in the betterJTextField is fine. 

    }

(JFormattedTextfield 扩展 JTextField)

public class betterJTextField extends JFormattedTextField {
private int row;
private int column;

public betterJTextField(Format format, int row, int column) {
    super(format);
    this.row = row;
    this.column = column;
    // TODO Auto-generated constructor stub
}

public int getRow() {
    return row;
}

public int getColumn() {
    return column;
}

最佳答案

我不太明白你在问什么,但我相信这就是你要找的:

private static class RedDocumentListener implements DocumentListener {
    private JTextField textField;

    public RedDocumentListener(JTextField textField) {
        this.textField = textField;
    }
    @Override
    public void insertUpdate(DocumentEvent e) {
        textField.setBackground(Color.red);
    }
    @Override
    public void removeUpdate(DocumentEvent e) {
        textField.setBackground(Color.red);
    }
    @Override
    public void changedUpdate(DocumentEvent e) {
        textField.setBackground(Color.red);
    }
}

关于java - 在 DocumentListener 中访问 JTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15535679/

相关文章:

java - 像扫描仪一样检索 JTextField 内容

java - JTextField.getText() 返回 null 值,radiobuttons.isSelected() 始终返回 false

java - 文本域监听器

java - 在 LinkedList<Byte> 中添加字节时出错

java - 如何将数据从另一个类传递到 GUI?

java - 如何获取不同文件的缩略图?

java - WindowListener 未按预期工作

java - 通过 && 递归返回两个方法

java - 如何使用java代码将上传的文件移动到存档文件夹

java - 在 Windows 10 上使用 Clojure/Java 的 NginX - 未启动