Получение иконки файла - Java
Формулировка задачи:
Пытаюсь получить иконку файла (например .exe или .lnk ) с помощью метода sun.awt.shell.ShellFolder.getShellFolder(file) . Однако отображается не иконка целиком, а лишь ее левый верхний угол, она получается обрезанная. Что делать? Как исправить? Если что, операционная система - Windows 8.1
Решение задачи: «Получение иконки файла»
textual
Листинг программы
private BufferedImage getImage(){
File temp=new File(System.getProperty("user.dir"));
File[] files=temp.listFiles();
for (int i=0; i < files.length; i++) {
if (files[i].isFile()) {
temp=files[i];
break;
}
}
FileSystemView fsv=FileSystemView.getFileSystemView();
Icon icn=fsv.getSystemIcon(temp);
Toolkit tk=Toolkit.getDefaultToolkit();
Dimension dim=tk.getBestCursorSize(icn.getIconWidth(),icn.getIconHeight());
BufferedImage buff=new BufferedImage(dim.width,dim.height,BufferedImage.TYPE_INT_ARGB);
icn.paintIcon(this,buff.getGraphics(),0,0);
return buff;
}