2017-06-22 3 views
0

Je pensais que ce serait facile par apparemment je ne comprends pas DocumentListeners. J'ai créé une extension JFormattedTextField pour inclure un écouteur afin que je puisse mettre à jour une carte de hachage avec le texte du champ modifié. Après avoir parcouru la documentation, je n'arrive pas à comprendre comment obtenir le texte modifié dans le gestionnaire d'événements. Il semble qu'il n'y ait pas de méthode getText. Qu'est-ce que j'utilise pour '????'? TIA.Obtenir le texte modifié de DocumentListener

Répondre

1

Comme TimeLineTextClass s'étend JFormattedField, vous trouverez qu'il existe réellement une méthode getText().

@Override 
    public void insertUpdate(DocumentEvent e) { 
     fieldList.put(field,getText()); 
    } 

    @Override 
    public void removeUpdate(DocumentEvent e) { 
     fieldList.put(field,getText()); 
    } 

Le code ci-dessus devrait fonctionner correctement.

+0

Ah! J'ai continué à essayer d'utiliser 'this.getText()' ou 'e.something.getText()'. Merci. –

+0

La raison qui n'a pas fonctionné est que lorsque vous avez créé le nouvel écouteur d'objet, 'this' s'est alors référé à la classe' DocumentListener' au lieu de la classe 'TimeLineText', à cause de la portée. – DCON