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 :

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)
        .....
donc je cherche la meilleurs facon de filtrer TreeTableView qui pourrait fonctionner
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);
			}
		});