Внутри createNodes () вам нужно обернуть дочерние узлы экземплярами FileFilterNode.Вот пересмотренная версия createNodes ():
@Override
protected Node[] createNodes(Node object) {
List<Node> result = new ArrayList<Node>();
for (Node node : super.createNodes(object)) {
if (accept(node)) {
// This is the only changed line
result.add(new FileFilterNode(node));
}
}
return result.toArray(new Node[0]);
}
Это было протестировано в NetBeans 8.2 для Windows и работает как положено.«Браузер файлов» отображает дерево, содержащее только папки на всех уровнях.