
org.jgraph.pad.actions.FileLibrarySaveAs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of freak-core Show documentation
Show all versions of freak-core Show documentation
Core library of the Free Evolutionary Algorithm Toolkit
package org.jgraph.pad.actions;
import org.jgraph.GPGraphpad;
import org.jgraph.pad.GPLibraryPanel;
import org.jgraph.pad.resources.Translator;
import java.awt.event.ActionEvent;
import java.beans.XMLEncoder;
import java.io.BufferedOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
/**
* Action that saves the Library to a file.
*
* @author sven.luzar
*
*/
public class FileLibrarySaveAs extends AbstractActionFile {
/**
* Constructor for FileLibrarySaveAs.
* @param graphpad
*/
public FileLibrarySaveAs(GPGraphpad graphpad) {
super(graphpad);
}
/**
* @see java.awt.event.ActionListener#actionPerformed(ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
String libraryExtension = Translator.getString("LibraryExtension");
String name =
saveDialog(
Translator.getString("FileSaveAsLabel"),
libraryExtension,
Translator.getString("JGraphpadLibrary", new Object[]{libraryExtension}));
if (name != null) {
GPLibraryPanel.ScrollablePanel panel =
getCurrentDocument().getLibraryPanel().getPanel();
if (panel != null) {
Serializable s = panel.getArchiveableState();
try {
Boolean compress = new Boolean(Translator.getString("compressLibraries"));
ObjectOutputStream out = createOutputStream(name, compress.booleanValue());
XMLEncoder enc =
new XMLEncoder(
new BufferedOutputStream(out));
enc.writeObject(s);
enc.close();
} catch (Exception ex) {
graphpad.error(ex.toString());
} finally {
graphpad.invalidate();
}
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy