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

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

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

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

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

ЗЫ Вот из-за таких вещей мне сейчас SWT и интересна, вот только времени ей основательно заняться нет :(
Не. Я лучше соберу основные (xls, doc, pdf...) в виде отдельных файлов и напишу собств. класс, который будет их подставлять, а если формат неизвестный (благо таких будет немного, задача специфическая), то иконка с вопросиком, или типа того. Вроде как в Idea при открытии файлов.
...
Рейтинг: 0 / 0
07.07.2005, 19:47
    #33155665
XM
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
08.07.2005, 08:20
    #33155920
GMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить иконку по расширению файла
ХМ, спасибо за ответ. Но твой вариант немного не подходит. Мне надо именно по расширению файла получить иконку. Файла нет фактически, есть его имя только.
...
Рейтинг: 0 / 0
08.07.2005, 08:44
    #33155963
GMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить иконку по расширению файла
Все, допер. Взял нужное расширение файла, создал новый файл пустой, взял с него иконку, удалил файл. Криво, но работает.
ХМ, спасибо еще раз!
Если есть более прямые варианты, буду благодарен.
...
Рейтинг: 0 / 0
08.07.2005, 12:12
    #33156535
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить иконку по расширению файла
to Wessen: относительно бреда... а мне что-то понравилось desktop application в последнее время делать. swing и все такое.
SWING мне тоже нравится и десктоп, только реестр и длл меня смутили, хотя, если все так просто, как в примере от ХМ, то почему бы и нет...
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Получить иконку по расширению файла / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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