所以,我完成了数独求解器的制作,但我想改进它。为此,我需要以某种方式从 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/