Получение иконки файла - 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5