Достижение JTextField в DocumentListener

Итак, я закончил делать решатель судоку, но хочу его улучшить. Для этого мне каким-то образом нужно добраться до моего betterJTextField из documentListener. Я использую documentListener для чтения в реальном времени с моего betterJTextFields, проблема в том, что в insertUpdate(DocumentEvent e).

Мне нужно добраться до betterJTextfield, в котором произошло DocumentEvent. Например, если ввод недействителен, 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;
}

person Jakkra    schedule 20.03.2013    source источник


Ответы (1)


Я не совсем понимаю, о чем вы спрашиваете, но я считаю, что это то, что вы ищете:

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);
    }
}
person syb0rg    schedule 20.03.2013