создание jfilechooser для отображения миниатюр изображений

Я хотел создать JFileChooser с миниатюрным представлением файлов изображений. Поэтому я создал подклассы FileView и в методе, который создает ImageIcon , немного масштабировал эту миниатюру. показаны изображения.

Однако общий эффект заключается в том, что виджету filechooser требуется некоторое время, прежде чем открывается каталог и отображаются эскизы .. В createImageIcon () ниже, mark

public static void main(String[] args) { 
    JFileChooser chooser=new JFileChooser();
    ThumbNailView thumbView=new ThumbNailView();
    chooser.setFileView(thumbView);
  }

class ThumbNailView extends FileView{
 public Icon getIcon(File f){
  Icon icon=null;
  if(isImageFile(f.getPath())){
   icon=createImageIcon(f.getPath(),null);
  }
  return icon;
 }
 private ImageIcon createImageIcon(String path,String description) {
  if (path != null) {
   ImageIcon icon=new ImageIcon(path);
   Image img = icon.getImage() ; 
   Image newimg = img.getScaledInstance( 16, 16,  java.awt.Image.SCALE_SMOOTH ) ;
   return new ImageIcon(newimg);
  } else {
   System.err.println("Couldn't find file: " + path);
   return null;
   }
}

private boolean isImageFile(String filename){
    //return true if this is image
}
6
задан Madhawa Priyashantha 17 July 2015 в 16:53
поделиться