import com.imsl.chart.*; import java.io.*; import java.awt.*; import javax.swing.ImageIcon; public class SampleSerialization extends JFrameChart { private void createChart() { Chart chart = getChart(); AxisXY axis = new AxisXY(chart); chart.getBackground().setFillType(ChartNode.FILL_TYPE_PAINT); Paint paint = FillPaint.checkerboard(24, Color.yellow, Color.orange); chart.getBackground().setFillPaint(paint); double y[] = {4, 6, 2, 1, 8}; Data data = new Data(axis, y); data.setDataType(Data.DATA_TYPE_LINE); data.setLineColor("blue"); } static private java.awt.Image loadImage(String name) { return new ImageIcon(Data.class.getResource(name)).getImage(); } private void writeChart() throws IOException { FileOutputStream fos = new FileOutputStream("sample.dat"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(getChart()); oos.flush(); fos.close(); } private Chart readChart() throws IOException, ClassNotFoundException { FileInputStream fis = new FileInputStream("sample.dat"); ObjectInputStream ois = new ObjectInputStream(fis); Chart chart = (Chart)ois.readObject(); fis.close(); return chart; } public static void main(String argv[]) throws Exception { if (argv.length == 0) { SampleSerialization sample = new SampleSerialization(); sample.createChart(); sample.writeChart(); System.exit(0); } else if (argv[0].equals("-read")) { SampleSerialization sample = new SampleSerialization(); Chart chart = sample.readChart(); sample.setChart(chart); sample.setVisible(true); } else { System.out.println("usage: java SampleSerialization [-read]"); } } }