зарегистрировать PropertyChangeListener для свойства "value" для formattedField
PropertyChangeListener l = new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
String text = evt.getNewValue() != null ? evt.getNewValue().toString() : "";
label.setText(evt.getNewValue());
}
};
formattedTextField.addPropertyChangeListener("value", l);
Не используйте DocumentListener или FocusListener: первый слишком часто уведомляется (о каждом типе ключа, до того, как произошел синтаксический анализ), последний слишком хрупкий.