package evopaint.gui;
import evopaint.Configuration;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class ExportDialog implements ActionListener {
private Configuration configuration;
private MainFrame frame;
File file;
String path;
public ExportDialog(Configuration configuration){
this.configuration = configuration;
}
public void actionPerformed(java.awt.event.ActionEvent e) {
configuration.runLevel = Configuration.RUNLEVEL_STOP;
BufferedImage img = configuration.mainFrame.getShowcase().scaleAndTranslate(configuration.perception.getImage());
try{
FileNameExtensionFilter jpgFilter = new FileNameExtensionFilter("*.jpg","jpg", "jpeg");
FileNameExtensionFilter pngFilter = new FileNameExtensionFilter("*.png","png");
JFileChooser chooser = new JFileChooser();
chooser.setFileFilter(jpgFilter);
chooser.setFileFilter(pngFilter);
int option = chooser.showSaveDialog(frame);
if(option == JFileChooser.APPROVE_OPTION){
if(chooser.getSelectedFile()!=null){
file = chooser.getSelectedFile();
if((chooser.getFileFilter().getDescription()).compareTo("*.jpg")==0){
checkExtension(".jpg");
FileOutputStream fos = new FileOutputStream(path);
ImageIO.write(img, "jpg", fos);
fos.close();
}
else{
checkExtension(".png");
ImageIO.write(img, "png", new File(path));
}
}
}else{
}
} catch (IOException e1) {
}
configuration.runLevel = Configuration.RUNLEVEL_RUNNING;
}
public void checkExtension(String ending){
if(file.getPath().endsWith(ending)){
path=file.getPath();
}else{
path=file.getPath().concat(ending);
}
}
}