Я пытался отсортировать мои узлы в своем JTree в течение нескольких дней, но без успеха. Вот мой код, чтобы заполнить JTree структурой данной папки. Это нормально работает: все папки отображаются в алфавитном порядке, но не в файлах внутри папок.Сортировка узлов JTree по алфавиту
DefaultMutableTreeNode addNodes(DefaultMutableTreeNode curTop, File dir) {
File[] tmp = dir.listFiles();
Vector<File> ol = new Vector<File>();
ol.addAll(Arrays.asList(tmp));
// Pass two: for files.
for (int fnum = 0; fnum < ol.size(); fnum++) {
File file = ol.elementAt(fnum);
DefaultMutableTreeNode node = new DefaultMutableTreeNode(file);
if (file.isDirectory()) {
addNodes(node, file);
}
curTop.add(node);
}
return curTop;
}
Любая помощь по этому вопросу будет действительно замечательной.
Прежде всего, спасибо за ответ Alex! В моем jtree у меня есть имена файлов, такие как: Name_someNumber_2014.txt, этот метод сортирует только имена файлов только с буквой или он будет сортировать имена как с номером, так и с буквами в имени? –
Вы можете попытаться использовать компаратор из [этого] (http://stackoverflow.com/questions/16898029/how-to-sort-file-names-in-ascending-order) вопроса. – alex2410
Спасибо, Алекс, это решило мою проблему! –