Bonjour,
j'aimerais pouvoir afficher les elements de ma sugestbox lorsque je clique dans la textbox. par défaut il faut rentrer au minimum une lettre...comment puis je faire ?
merci
Bonjour,
j'aimerais pouvoir afficher les elements de ma sugestbox lorsque je clique dans la textbox. par défaut il faut rentrer au minimum une lettre...comment puis je faire ?
merci
Bonjour,
Je n'ai pas encore trouvé comment faire..si quelqu'un peut m'aider..
ma demande est elle claire? compliqué ?
Merci
bonjour,
j'ai exactement le même probleme et pareil pas de solution, si qq'un l'a je suis preneur aussi
merci
Bonjour, je n'ai pas trop le temps d'essayer mais je ferai la chose suivante :
- Regarder dans le code de la classe SuggestBox (ou une de ces parentes) comment gwt gère l'affichage de la liste en fonction des caractères saisies. Peut être un KeyListener qui écoute les évènements clavier et qui affiche la liste ???
- Si c'est bien le cas, vous ajouter un FocusListener pour écouter la prise du focus par la suggestbox (voir un MouseListener si ça ne fonctionne pas avec le focusListener) et vous executez le même code que dans le KeyListener ...
@+
pour information la suggestBox fournit est final donc il vous faut réécrire des choses mais cela ce fait rapidement, et en effet rajouter une gestion du mouseClick.
Regarderr la méthode : addKeyboardSupport de SuggestBox
Je vais peut être passer pour un newbies mais comment je peux faire pour réécrire le code de la classe SuggestBox ?
Merci
Si cela peut se faire via l'ajout d'un listener, pas besoin d'héritage.
Néanmoins, lorsqu'on veut dériver une classe final, il faut utiliser le pattern adapter.
Je ne vois vraiment pas comment je peux faire en ajoutant un listerner sur ma suggestbox...comment executer le code du keyListener de la classe suggestBox ?
voici la methode du keylistener
Merci
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
42
43
44
45
46 private void addKeyboardSupport() { box.addKeyboardListener(new KeyboardListenerAdapter() { public void onKeyDown(Widget sender, char keyCode, int modifiers) { // Make sure that the menu is actually showing. These keystrokes // are only relevant when choosing a suggestion. if (suggestionPopup.isAttached()) { switch (keyCode) { case KeyboardListener.KEY_DOWN: suggestionMenu.selectItem(suggestionMenu.getSelectedItemIndex() + 1); break; case KeyboardListener.KEY_UP: suggestionMenu.selectItem(suggestionMenu.getSelectedItemIndex() - 1); break; case KeyboardListener.KEY_ENTER: case KeyboardListener.KEY_TAB: suggestionMenu.doSelectedItemAction(); break; } } } public void onKeyUp(Widget sender, char keyCode, int modifiers) { // After every user key input, refresh the popup's suggestions. refreshSuggestions(); } private void refreshSuggestions() { // Get the raw text. String text = box.getText(); if (text.equals(currentText)) { return; } else { currentText = text; } if (text.length() == 0) { // Optimization to avoid calling showSuggestions with an empty // string suggestionPopup.hide(); suggestionMenu.clearItems(); } else { showSuggestions(text); } } });
Avec box comme SuggestBox, un truc du genre :
ou bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 box.addClickListener(new ClickListener() { onClick(Widget sender) { // essayer a) // box.showSuggestions(""); // ou b) // ((SuggestBox) sender).showSuggestions(""); } });
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 box.addFocusListener(new FocusListenerAdapter() { onFocus(Widget sender) { // essayer a) // box.showSuggestions(""); // ou b) // ((SuggestBox) sender).showSuggestions(""); } onLostFocus(Widget sender) { // essayer a) // box.suggestionPopup.hide(); // box.suggestionMenu.clearItems(); // ou b) // ((SuggestBox) sender).suggestionPopup.hide(); // ((SuggestBox) sender).suggestionMenu.clearItems(); } });
Ils font ******** chez google de mettre en private les méthodes, de mettre en finale la classe et de ne pas avoir prévu le cas qui t'intéresse ...
Je viens de regardé ce que font ces méthodes dont tu as besoin et le problème, c'est que le composant n'est pas prévu pour afficher tous les résultats ...
La seule solution que je vois ce soir est de reprendre leur code pour créer un autre composant. C'est un peu y aller à la hache mais lorsqu'on ferme les portes ...
Bon ba je crois que je vais laisser tomber ce truc...moi qui croyait justement qu'avec GWT on pouvait redéfinir comme on le souhaitait les classes et méthodes...
merci quand meme
C'est clair qu'ils font ***** chez Google... J'ai déjà dû refaire une classe stack panel uniquement pour passer certaines fonction en public... Quel interet ? Au pire ils mettent en protected !
Je recoderai pas la classe uniquement pour cette fonctionnalité
Bonjour à tous,
Il y a une lib que j'ai développé pour avoir le contrôle total sur la suggest box et les select box (combo box). Elle est aujourd'hui déployée sur un projet à haute disponibilité à l'échelle nationale, autant vous dire que les petits bugs ont été supprimés.
http://code.google.com/p/advanced-suggest-select-box/
Le tutoriel est ecrit en anglais mais les exemples de code sont assez parlants.
http://code.google.com/p/advanced-su...i/Introduction
C'est la version 1.0 qui est déployée, j'ai ajouté récemment des fonctionnalités demandées par la communauté dans les implémentations par défaut comme le support de l'icone (et amelioré le design du tableau).
Une version qui supporte la multiple selection à la facon du mail de facebook est en cours de développement, les sources sont déjà dans le svn, il faut juste corriger qq bugs.
N'hésitez pas à me faire vos remarques,
Zied Hamdi
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager