Как получить значки и имена папок и файлов linux в java? - PullRequest
6 голосов
/ 15 июня 2010

Я создаю дерево папок и файлов в Java. Windows и OSX возвращают системные значки и имя со следующим кодом:

new JFileChooser().getIcon(File f);
new JFileChooser().getName(File f);

Есть ли возможность получить значки и названия систем Unix ?. Системная команда тоже подойдет.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 18 июня 2010

не может добавить комментарий, поэтому отправка в качестве ответа:

Взгляните на /1098037/kak-vy-poluchaete-znachok-tip-mime-i-prilozhenie-svyazannoe-s-failom-na-rabochem-stole-linux и-приложения, связанная-с-файл-в

Все эти ответы заставят вас испачкать руки на C или C ++. Ява никогда не рифмовалась с естественным внешним видом ...

0 голосов
/ 21 июня 2010

Вы всегда можете получить имя системы, над которой вы работаете, Java позволяет вам выполнять «родное» выполнение и записывать результаты этого (командная строка, так что для версий Unix, Runtime.exec («uname -a») ;) затем проанализируйте результаты в выходном потоке.

Сказав это, существует множество различных реализаций слоев графического интерфейса поверх ядра Unix, и существует , а не стандартный способ получения сопоставлений между типами файлов и изображениями значков. Вы можете принять решение, специфичное для оконного менеджера, но вам нужно будет изменить свой алгоритм в зависимости от того, какой wm используется.

0 голосов
/ 16 июня 2010

Я не тестировал, но этот код должен работать на большинстве систем:

FileSystemView view = FileSystemView.getFileSystemView();
Icon icon = view.getSystemIcon(file);
...