pourquoi je passe 2 fois dans mon event ?
Bonjour,
Après des mois de FX2... je suis enfin en FX8 :D
J'ai un problème avec la classe AutoCompleteCBO3 ci-dessous.
Je l'appelle de la manière suivante:
Code:
1 2 3
|
ComboBox<Person> personCbo2 = new ComboBox<Person>();
new AutoCompleteCBO3(personCbo2, true); |
mon problème, c'est que si je me positionne sur le bouton et que je tape un caractère, par exemple "t" j'obtiens:
Citation:
passe dans KeyEvent.KEY_PRESSED avec T
passe dans KeyEvent.KEY_PRESSED avec T
Ca veut dire que je passe deux fois dans mon événement et je comprends pas pourquoi
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
public class AutoCompleteCBO3 {
private ComboBox eComboBox;
private IndexRange selectionSurChangement ;
private int debutDeSelectionSurChangement;
private Boolean ignoreChangeEditor = false;
private Boolean isOuverture =true;
private Boolean isBackSpace =false;
private Boolean isEnter =false;
private Boolean isFound = false;
private ObservableList items;
//constructeur
public AutoCompleteCBO3(ComboBox comboBox, Boolean parIsLimitedToList) {
System.out.println("Je passe dans le CONSTRUCTEUR");
eComboBox = comboBox;
eComboBox.setEditable(true);
//comme l'observable list ne change jamais, je la remplis une seule fois ici
items = eComboBox.getItems();
System.out.println("je remplis mon Observablelist");
eComboBox.getSelectionModel().select(0);
eComboBox.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event){
System.err.println("passe dans KeyEvent.KEY_PRESSED avec " + event.getCode());
}
});
}
} |