如何在不符合RegEx格式的输入文本上更改JFormattedTextField的前景/文本颜色?

时间:2016-06-07 05:40:53

标签: java swing

我正在关注,http://www.java2s.com/Tutorial/Java/0240__Swing/RegexFormatterwithaJFormattedTextField.htm。在给定的示例中,如何在输入文本上更改JFormattedTextField的前景/文本颜色,而不遵循格式化程序的RegEx格式?

1 个答案:

答案 0 :(得分:3)

当用户尝试使用InputVerifier更改焦点时,您可以更改JFormattedTextField的前景色。从这个完整的example开始,调整shouldYieldFocus()

实施中的颜色
@Override
public boolean shouldYieldFocus(JComponent input) {
    if (verify(input)) {
        tf.setValue(date);
        tf.setForeground(Color.black);
        return true;
    } else {
        tf.setForeground(Color.red);
        return false;
    }
}

image

要在键入时查看更改,请使用DocumentListener以类似方式评估DateFormat个实例。