Bonjour
Je tente de faire un filtrage des lignes dans une TreeTableView
j'ai tenté d'utiliser un code internet http://www.kware.net/?p=204#The_Predicate
qui remplace la collection sous jascente du TreeItem (membre children) par une FilteredList<TreeItem<T>>
seulement quand je tente de rajouter un item dans getChildren().add(tt) j'ai l'exception suivant :
donc je cherche la meilleurs facon de filtrer TreeTableView qui pourrait fonctionner
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Exception in thread "JavaFX Application Thread" java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList.java:148) at java.util.AbstractList.add(AbstractList.java:108) at application.Exemple.lambda$0(Exemple.java:95) .....
si vous aviez une idée ....
merci
vous pouvez tester le problème que je rencontre avec le code suivant
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 System.out.println("button TEST pressed"); TreeItem<Variable> root2 = new TreeItem<>(); // change root collection String fieldName = "children"; Optional<Field> optChildren = ReflectionUtils.getAllFields(root2.getClass(), withName(fieldName)).stream().findFirst(); if (optChildren.isPresent()) { try { Field children = optChildren.get(); children.setAccessible(true); // children.set(root2, FXCollections.observableArrayList()); // OK children.set(root2, new FilteredList<Variable>(FXCollections.observableArrayList(), c -> true)); children.setAccessible(false); System.out.println("changement list OK"); } catch (Exception ee) { ee.printStackTrace(); } } // add item { TreeItem<Variable> tt = new TreeItem<>(new Variable("xxx ", "yyyy ", "zzzzz ")); root2.getChildren().add(tt); } });
Partager