Bonjour,
Après des mois de FX2... je suis enfin en FX8
J'ai un problème avec la classe AutoCompleteCBO3 ci-dessous.
Je l'appelle de la manière suivante:
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ComboBox<Person> personCbo2 = new ComboBox<Person>(); new AutoCompleteCBO3(personCbo2, true);
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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()); } }); } }
Partager