powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Получить иконку по расширению файла
13 сообщений из 13, страница 1 из 1
Получить иконку по расширению файла
    #33155538
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На входе имеем расщирение файла, например, doc. На выходе надо получить иконку, привязанную по умолчанию в винде к этому расширению.
Как?
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155576
Фотография XM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GMax wrote:
> На входе имеем расщирение файла, например, doc. На выходе надо получить
> иконку, привязанную по умолчанию в винде к этому расширению.
> Как?
Насколько я помню, иконки такие обычно определяются через вызов SHGetFileInfo из shell32.dll, и еще где-то есть
указания на них глубоко к Windows Registry.
Но реализовать это через JNI, по-моему, было бы напряжно...
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155586
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно читать информацию из реестра windows воспользовавшись киким-нибудь API для доступа к нему. На sourceforge.net поиском по фразе java registry можно найти таких целую кучу, например http://sourceforge.net/projects/jst/
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155593
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да про реестр самой первой была идея, но что-то она мне не очень нравится.
Больше нет вариантов?
Если нет, пойду копать реестр тогда.
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155595
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще хороший вопрос как эти иконки потом из .dll файлов вытаскивать (а большинство будет храниться именно там)
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155598
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как же все таки прекрасно, что я таким бредом не занимаюсь ...
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155601
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Красота! :) Это я про dll. Меня начинают терзать смутные сомнения по поводу данной идеи. Может отказаться...

to Wessen: относительно бреда... а мне что-то понравилось desktop application в последнее время делать. swing и все такое.
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155605
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GMax

Насчет .dll - скорее всего нужно будет написать код на С++ который вытаскивает иконки из dll и его уже использовать из java. Вот только надо ли так заморачиваться...

ЗЫ Вот из-за таких вещей мне сейчас SWT и интересна, вот только времени ей основательно заняться нет :(
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155610
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri GMax

Насчет .dll - скорее всего нужно будет написать код на С++ который вытаскивает иконки из dll и его уже использовать из java. Вот только надо ли так заморачиваться...

ЗЫ Вот из-за таких вещей мне сейчас SWT и интересна, вот только времени ей основательно заняться нет :(
Не. Я лучше соберу основные (xls, doc, pdf...) в виде отдельных файлов и напишу собств. класс, который будет их подставлять, а если формат неизвестный (благо таких будет немного, задача специфическая), то иконка с вопросиком, или типа того. Вроде как в Idea при открытии файлов.
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155665
Фотография XM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гы, однако можно просто:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 import  javax.swing.*;
 import  javax.swing.filechooser.*;
 import  java.io.File;
 public   class  a {
         public   static   void  main(String[] arg){
                JFrame fr= new  JFrame();
                fr.setSize( 300 , 300 );
                fr.getContentPane().add(
                         new  JLabel(
                                FileSystemView.getFileSystemView().getSystemIcon( new  File(arg[ 0 ]))
                        )
                );
                fr.setVisible(true);
        }
}
Источник - com.sun.java.plaf.windows.WindowsFileChooserUI.ShortCutPanel
Note: файл должен существовать.
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155920
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХМ, спасибо за ответ. Но твой вариант немного не подходит. Мне надо именно по расширению файла получить иконку. Файла нет фактически, есть его имя только.
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33155963
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, допер. Взял нужное расширение файла, создал новый файл пустой, взял с него иконку, удалил файл. Криво, но работает.
ХМ, спасибо еще раз!
Если есть более прямые варианты, буду благодарен.
...
Рейтинг: 0 / 0
Получить иконку по расширению файла
    #33156535
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Wessen: относительно бреда... а мне что-то понравилось desktop application в последнее время делать. swing и все такое.
SWING мне тоже нравится и десктоп, только реестр и длл меня смутили, хотя, если все так просто, как в примере от ХМ, то почему бы и нет...
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Получить иконку по расширению файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]