Java Image openImageFileChooser(Component com)

Here you can find the source of openImageFileChooser(Component com)

Description

File chooser images.

License

Open Source License

Parameter

Parameter Description
com imput frame

Declaration


public static JFileChooser openImageFileChooser(Component com) 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.awt.Component;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.*;

public class Main {
    /**// w  w w .  j av  a  2 s. co m
     * File chooser images.
     * Used to save images for all canvaces.
     * 
     * @param com imput frame
     * @return
     */

    public static JFileChooser openImageFileChooser(Component com) {

        final JFileChooser fileChooser = new JFileChooser();

        fileChooser.removeChoosableFileFilter(fileChooser.getAcceptAllFileFilter());
        //  fileChooser.setCurrentDirectory(new File(System.getProperty("user.home")));
        fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("PDF Documents (*.pdf)", "pdf"));
        fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("Encapsulated PostScript (*.eps)", "eps"));
        fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("PostScript (*.ps)", "ps"));
        fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("Scalable Vector Graphics (*.svg)", "svg"));
        fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("Compressed SVG  (*.svgz)", "svgz"));
        fileChooser.addChoosableFileFilter(new FileNameExtensionFilter("Portable Network Graphics (*.png)", "png"));
        fileChooser.addChoosableFileFilter(
                new FileNameExtensionFilter("JPEG Raster Images (*.jpg, *.jpeg)", "jpg", "jpeg"));
        fileChooser.setAcceptAllFileFilterUsed(true);

        final File sFile = new File("dmelt.pdf");
        fileChooser.setSelectedFile(sFile);

        // debug
        /*
        fc.addPropertyChangeListener(new PropertyChangeListener() {
            
          public void propertyChange(PropertyChangeEvent evt) {
          System.out.println("Property name=" + evt.getPropertyName() + ", oldValue=" + evt.getOldValue() + ", newValue=" + evt.getNewValue());
          System.out.println("getSelectedFile()=" + fc.getSelectedFile());
          }
        });
        */

        fileChooser.addPropertyChangeListener(JFileChooser.FILE_FILTER_CHANGED_PROPERTY,
                new PropertyChangeListener() {

                    public void propertyChange(PropertyChangeEvent evt) {
                        Object o = evt.getNewValue();
                        if (o instanceof FileNameExtensionFilter) {
                            FileNameExtensionFilter filter = (FileNameExtensionFilter) o;

                            String ex = filter.getExtensions()[0];

                            File selectedFile = fileChooser.getSelectedFile();
                            if (selectedFile == null) {
                                selectedFile = sFile;
                            }
                            String path = selectedFile.getName();
                            path = path.substring(0, path.lastIndexOf("."));

                            fileChooser.setSelectedFile(new File(path + "." + ex));
                        }
                    }
                });

        return fileChooser;
    }
}

Related

  1. isContinueImageUpdate(JComponent comp, Image img)
  2. loadImage(byte[] imgStr, int imageSize)
  3. makeColorTransparent(Image im, Color c)
  4. mask(Image img, Color color)
  5. openImage()
  6. paintToImage(Component comp)
  7. prepareImagePath(String html, URL url)
  8. removeImage(JLabel image)
  9. removeRedeye(Image im, final int x1, final int y1, final int x2, final int y2)