package org.freehep.graphicsio.emf;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.filechooser.FileFilter;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.FileOutputStream;
import org.freehep.graphics2d.VectorGraphics;
import org.freehep.graphicsio.exportchooser.ExportGraphicsFileTypeAdapter;
import org.freehep.swing.ExtensionFileFilter;
public class EMFExportFileType extends ExportGraphicsFileTypeAdapter {
final public static String[] emfExtensions = {"emf"};
final public static ExtensionFileFilter emfFilter = new
ExtensionFileFilter(emfExtensions,
"Windows Enhanced Metafile");
final static String EMFPANEL = "Windows Enhanced Metafile";
// Saved graphics context.
private EMFGraphics2D gEMF = null;
public FileFilter getFileFilter() {
return (FileFilter) emfFilter;
}
public JPanel getOptionsPanel() {
return null;
}
public File adjustFilename(File file) {
return adjustExtension(file, "emf", emfExtensions);
}
public boolean fileHasValidExtension(File file) {
return checkExtension(file, emfExtensions);
}
public Graphics getConfiguredGraphics(OutputStream os, Component saveTarget)
throws IOException {
gEMF = new EMFGraphics2D(os, saveTarget.getSize());
gEMF.setCreator(creator);
gEMF.startExport();
return (Graphics) gEMF;
}
public void done() throws IOException {
gEMF.endExport();
gEMF = null;
}
}
这个class的主要功能应该是检查文件扩展名的情况并为输出文件做准备,因为不清楚org.freehep这个包里面提供什么功能,所以没办法做太多解释~~~~
package org.freehep.graphicsio.emf;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.filechooser.FileFilter;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.FileOutputStream;
import org.freehep.graphics2d.VectorGraphics;
import org.freehep.graphicsio.exportchooser.ExportGraphicsFileTypeAdapter;
import org.freehep.swing.ExtensionFileFilter;
public class EMFExportFileType extends ExportGraphicsFileTypeAdapter {
final public static String[] emfExtensions = {"emf"};
final public static ExtensionFileFilter emfFilter = new
ExtensionFileFilter(emfExtensions,
"Windows Enhanced Metafile");
final static String EMFPANEL = "Windows Enhanced Metafile";
// Saved graphics context.
private EMFGraphics2D gEMF = null;
public FileFilter getFileFilter() {
return (FileFilter) emfFilter;
}//获得文件扩展名
public JPanel getOptionsPanel() {
return null;
}
public File adjustFilename(File file) {
return adjustExtension(file, "emf", emfExtensions);
}//把文件扩展名改为emf
public boolean fileHasValidExtension(File file) {
return checkExtension(file, emfExtensions);
}//检查文件扩展名是否为emf
public Graphics getConfiguredGraphics(OutputStream os, Component saveTarget)
throws IOException {
gEMF = new EMFGraphics2D(os, saveTarget.getSize());
gEMF.setCreator(creator);
gEMF.startExport();
return (Graphics) gEMF;
}//获取图形文件的一些信息
public void done() throws IOException {
gEMF.endExport();
gEMF = null;
}//完成输出文件之后的处理
}