/** * Adds specified element into thumbnails queue. * * @param element element to add */ protected void queueThumbnailLoad(final FileElement element, final boolean disabled) { element.setThumbnailQueued(true); element.setDisabledThumbnailQueued(disabled); executorService.submit( new Runnable() { @Override public void run() { final String absolutePath = element.getFile().getAbsolutePath(); final String ext = FileUtils.getFileExtPart(element.getFile().getName(), false).toLowerCase(); if (fileList.isGenerateThumbnails() && GlobalConstants.IMAGE_FORMATS.contains(ext)) { final ImageIcon thumb = element.getEnabledThumbnail() != null ? element.getEnabledThumbnail() : ImageUtils.createThumbnailIcon(absolutePath, thumbSize); if (thumb != null) { element.setEnabledThumbnail(thumb); if (disabled) { element.setDisabledThumbnail(ImageUtils.createDisabledCopy(thumb)); } } else { element.setEnabledThumbnail( FileUtils.getStandartFileIcon(element.getFile(), true, true)); if (disabled) { element.setDisabledThumbnail( FileUtils.getStandartFileIcon(element.getFile(), true, false)); } } } else { element.setEnabledThumbnail( FileUtils.getStandartFileIcon(element.getFile(), true, true)); if (disabled) { element.setDisabledThumbnail( FileUtils.getStandartFileIcon(element.getFile(), true, false)); } } if (disabled != fileList.isEnabled()) { fileList.repaint(element); } } }); }