package org.freehep.graphicsio.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.util.Properties; import javax.swing.JOptionPane; import javax.swing.JPanel; import org.freehep.graphicsio.exportchooser.ImageExportFileType; import org.freehep.util.export.ExportFileType; /** * @author Mark Donszelmann * @version $Id: TestExportFileType.java 8584 2006-08-10 23:06:37Z duns $ */ public class TestExportFileType { public static void main(String args[]) throws Exception { if (args.length < 1) { System.err.println("Usage: TestExportFileType className"); System.exit(1); } ExportFileType type; if (args[0].equals(ImageExportFileType.class.getName())) { if (args.length != 2) { System.err.println("Usage: " + ImageExportFileType.class + " format"); System.exit(1); } type = ImageExportFileType.getInstance(args[1]); if (type == null) { System.err.println("Format not supported: " + args[1]); System.exit(1); } } else { Class clazz = Class.forName(args[0]); type = (ExportFileType) clazz.newInstance(); } if (!type.hasOptionPanel()) { System.err.println("No options exist for " + args[0]); System.exit(1); } Properties options = new Properties(); File optionsFile = new File("TestExportFileType.properties"); try { options.load(new FileInputStream(optionsFile)); } catch (FileNotFoundException e) { } JPanel panel = type.createOptionPanel(options); int rc = JOptionPane.showConfirmDialog(null, panel, "Options for " + type.getDescription(), JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); if (rc == JOptionPane.OK_OPTION) { if (type.applyChangedOptions(panel, options)) { ; System.out.println("New options written"); options.list(System.out); options.store(new FileOutputStream(optionsFile), "TestExportFileType"); } else { System.out.println("No options changed"); } } else { System.out.println("Cancelled"); } System.exit(0); } }