J'écris un petit éditeur de texte avec Java SWT. Si le champ de texte de l'objet "Texte" est modifié, le récepteur doit définir une valeur booléenne sur true, que le champ de texte a été modifié. Et quand je veux quitter l'éditeur, il devrait me demander d'enregistrer si le champ de texte a été changé. Mais la variable booléenne ne change leur valeur que dans leur ModifyListener? Si je pousse sur le bouton quitter, le sélecteur de liste réagit et il devrait me demander d'enregistrer, mais il n'a pas demandé à.Java SWT ModifyListener définir une variable booléenne
Quel est mon échec?
public class ModifyListenerTextField implements ModifyListener {
private Boolean changedTextField;
public ModifyListenerTextField(Boolean changedTextField){
this.changedTextField = changedTextField;
}
@Override
public void modifyText(ModifyEvent arg0) {
if(!changedTextField.booleanValue()){
changedTextField = Boolean.TRUE;
}
}
}
Veuillez poster le code complet et clarifier ce qui ne fonctionne pas. A noter: Il n'y a pas besoin d'utiliser un 'Boolean' ici, un' boolean' suffira. Et pourquoi le transmettez-vous au constructeur du champ de texte? – Baz
J'utilise le booléen au lieu du booléen primitif parce que je dois passer la référence de la variable booléenne à vérifier si la variable est changeante à vrai ... – Oni1
Pourquoi ne pas simplement ajouter une fonction get à votre classe qui retourne le booléen? – Baz