При построении JTree он показывает пути для каждого узла, есть ли способ просто показать имена файлов/папок?

Мне удалось собрать функциональный JTree, который загружает файлы и папки из user.dir, но каждый узел именуется абсолютным путем, что немного утомительно, если вам не нравятся имена узлов, выходящие далеко за границы. Поэтому мне интересно, есть ли простое решение для сокращения имен узлов, скажем, до родительского каталога и имени файла/папки?

В настоящее время мои узлы выглядят так:

/Users/username/documents/workspace/project/test.txt

То, что я ищу, это больше строк:

/test.txt

Если это то, что даже новичку должно быть стыдно за непонимание, я ожидаю какой-то пресловутой шлепки. Но если это квалифицируется как достойный вопрос, не стесняйтесь крутить лапшу. Я попытался изучить внешний вид java, но это оказалось бесполезным.

Я не уверен, что мне нужно записать свой код. Но если это имеет какое-либо значение, я использовал массив файлов и .list(), чтобы получить файлы, а затем вставил их в JTree с помощью «DefaultMutableTreeNode» и «DefaultTreeModel».


person quidproquo    schedule 13.12.2013    source источник
comment
Я опубликовал кое-что до года, это может вам помочь: stackoverflow.com/questions/12870908/   -  person Maxim Shoustin    schedule 14.12.2013


Ответы (1)


Используйте соответствующий TreeCellRenderer. См. GUI файлового браузера для отличного (IMO) примера.

person Andrew Thompson    schedule 13.12.2013
comment
На самом деле это то, на чем я основывал часть своего кода. Я забыл упомянуть, что это школьный проект, поэтому использование чужих работ осуждается. - person quidproquo; 14.12.2013
comment
Извините, я просто устал смотреть на экран. Я нашел именно то, что искал, в приведенном вами примере. Коротко, просто и очень реализуемо (если это вообще слово). Спасибо, что нашли время. - person quidproquo; 14.12.2013