Bonjour,
J'ai suivi le tutoriel de Sun pour mettre un RowFilter.
Le souci est que je n'arrive pas à filtrer comme je l'entend. Je m'explique :
J'ai une JTable avec une dizaine de collones. J'ai en dessous un JTextField où l'on peut rentrer sa recherche. J'aimerai que si par exemple l'utilisateur rentre "coucou" dans le JTextField, celà filtre les Lignes et n'affiche que celles où dans une des collones il y a coucou.
Voici le code que j'ai intégré :
qui est tout bêtement un copié collé du code du tutoriel. Même en mettant de 0 à 9 dans les parametres de regexFilter ca ne fait pas ce que je veux.
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 filterText = new JTextField(); filterText.getDocument().addDocumentListener( new DocumentListener() { public void changedUpdate(DocumentEvent e) { newFilter(); } public void insertUpdate(DocumentEvent e) { newFilter(); } public void removeUpdate(DocumentEvent e) { newFilter(); } }); (...) private void newFilter() { RowFilter<MyTableModel, Object> rf = null; //If current expression doesn't parse, don't update. try { rf = RowFilter.regexFilter(filterText.getText(), 0); } catch (java.util.regex.PatternSyntaxException e) { return; } sorter.setRowFilter(rf); }
Je suis un peu perdu en fait... Quelqu'un pour m'éclairer ?
Merci
Fred
Partager