package prefuse.util.display; import java.awt.event.ActionEvent; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.HashSet; import javax.imageio.ImageIO; import javax.swing.AbstractAction; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import prefuse.Display; import prefuse.util.io.IOLib; import prefuse.util.io.SimpleFileFilter; /** * Swing ActionListener that reveals a dialog box that allows users to * export the current Display view to an image file. * * @author jeffrey heer */ public class ExportDisplayAction extends AbstractAction { private Display display; private JFileChooser chooser; private ScaleSelector scaler; /** * Create a new ExportDisplayAction for the given Display. * @param display the Display to capture */ public ExportDisplayAction(Display display) { this.display = display; scaler = new ScaleSelector(); chooser = new JFileChooser(); chooser.setDialogType(JFileChooser.SAVE_DIALOG); chooser.setDialogTitle("Export Prefuse Display..."); chooser.setAcceptAllFileFilterUsed(false); HashSet seen = new HashSet(); String[] fmts = ImageIO.getWriterFormatNames(); for ( int i=0; i