/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.server.gui.mngr;
import com.server.gui.*;
import com.server.gui.ImagePanel;
import com.server.utils.ImageHandler;
import java.awt.Image;
import java.io.File;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.SwingWorker;
/**
*
* @author ADMIN
*/
public class SwingWorkerForImage extends SwingWorker {
File[] imageFiles = null;
ImageHandler imageHandler = null;
JPanel imageContainer = null;
private boolean running = true;
public boolean isRunning() {
return running;
}
public void setRunning(boolean running) {
this.running = running;
}
public SwingWorkerForImage() {
imageHandler = new ImageHandler();
}
public void setImageContainer(JPanel imageContainer) {
this.imageContainer = imageContainer;
}
public void setImageFiles(File[] imageFiles) {
this.imageFiles = imageFiles;
}
@Override
protected void done() {
super.done();
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
imageContainer.updateUI();
}
});
}
@Override
protected Object doInBackground() throws Exception {
if (imageFiles != null) {
imageContainer.removeAll();
for (int i = 0; i < imageFiles.length; i++) {
if (!isRunning()) {
break;
}
ImageIcon imageIcon = new ImageIcon(imageFiles[i].getAbsolutePath());
Image image = imageIcon.getImage();
int imgWidth = image.getWidth(null);
int imgHeight = image.getHeight(null);
int labelWidth = 148;
int labelHeight = 83;
imageIcon = imageHandler.getScaledImage(image,
imgWidth, imgHeight, labelWidth, labelHeight);
ImagePanel imagePanel = new ImagePanel();
imagePanel.setImageForPane(imageIcon);
imagePanel.setFileName(imageFiles[i].getAbsolutePath());
imagePanel.setIMageNumber(i);
imageContainer.add(imagePanel);
imageContainer.updateUI();
}
}
return null;
}
public void start() {
super.execute();
}
}