Как получить значок для расширения файла или типа файла без создания временного файла?

Я перечисляю некоторые имена файлов с их значками (например, в Проводнике Windows) вJTable, Я знаю два способа получить значок, если у меня естьFile объект из локальной файловой системы:

javax.swing.filechooser.FileSystemView.getFileSystemView().getSystemIcon( file )

для значка 16x16 или для большего:

sun.awt.shell.ShellFolder.getShellFolder( file ).getIcon( true ) )

Поскольку мои файлы хранятся в базе данных, у меня нетFile объект. Мой обходной путь - создать временный файл с определенным расширением имени файла, использовать один из двух методов выше и кэшировать значок, чтобы отобразить его в CellRenderer.

Я искал решение без временных файлов и нашел два, которые мне тоже не нравятся:

org.eclipse.swt.program.Program.findProgram(String extension).getImageData(), но я не хочу использовать SWTorg.jdesktop.jdic.icons.IconService из инкубатораJDIC проект. Последние изменения наIconService 6 лет назад, на JDIC 2 года назад, и я не могу найти загружаемую банку.

Есть ли другое решение?

Ответы на вопрос(2)

Ваш ответ на вопрос