| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java tools & IDE's > Не работает findProgram() в KDE(Linux) |
| Автор: bloodyrat 29.7.2010, 08:40 | ||||
| Добрый день! Помогите, пожалуйста, решить задачу получения иконки файла (точнее иконку программы, связанной с данным типом файла) в линуксе. В идеале требуется получить программу, связанную с данным типом файла. В винде отлично работает следующий метод:
Но в линуксе (KDE) findProgram возвращает null. Учитывая, что даже я знаю как минимум 3 способа ассоциировать тип файла с программой в лине (родной для Qt, родной для GTK+, mime.types), то для каждого случая нужны свои костыли (как минимум для Qt и GTK+). В документации сказано следующее про org.eclipse.swt.program:
Отсюда можно сделать предположение, что в классе Program уже должны быть нужные костыли. Подскажите, пожалуйста, откуда данный класс пытается брать информацию и как заставить его работать. PS: http://stackoverflow.com/questions/975919/how-to-display-system-icon-for-a-file-in-swt с использованием FileSystemView.getFileSystemView().getSystemIcon(file) тоже не работает. PPS: То, что я что-то делаю не так было первым предположением, но во-первых на винде все работает, а во-вторых в самом Эклипсе используется тот же метод для получение иконок файлов в дереве проекта (кроме собственных иконок) и тоже работает на винде, но не на лине. PPPS: Возможно более подходящим местом является http://forum.vingrad.ru/forum/java-general.html. Если это так, то прошу модераторов перенести топик. |