/** * Create a new <code>PanelModel</code> from an object serialized using <code>XMLEncoder</code>. * For example, * * <pre> * PanelModel pModel; * Page page = new Page(); * try { * pModel = PanelModel.loadFromXML(new BufferedInputStream( * new FileInputStream(outpath))); * page.setPanelModel(pModel); * } catch (FileNotFoundException fnfe) { * JOptionPane.showMessageDialog(this, "Error openning file", * "File Open Error", JOptionPane.ERROR_MESSAGE); * } catch (InvalidObjectException ioe) { * JOptionPane.showMessageDialog(this, "File does not contain a PanelModel", * "PanelModel Not Found", * JOptionPane.ERROR_MESSAGE); * } * * </pre> * * @param is InputStream * @return PanelModel object * @throws InvalidObjectException * @see java.beans.XMLEncoder */ public static PanelModel loadFromXML(InputStream is) throws InvalidObjectException { PanelModel pModel = null; XMLDecoder xd = new XMLDecoder(is); Object obj = xd.readObject(); xd.close(); if (obj instanceof PanelModel) { pModel = (PanelModel) obj; pModel.repair(); } else { throw new InvalidObjectException("XML file does not contain a PanelModel"); } return pModel; }
public void load() { // show file chooser dialog int r = chooser.showOpenDialog(null); // if file selected, open if (r == JFileChooser.APPROVE_OPTION) { try { File file = chooser.getSelectedFile(); XMLDecoder decoder = new XMLDecoder(new FileInputStream(file)); decoder.readObject(); decoder.close(); } catch (IOException e) { JOptionPane.showMessageDialog(null, e); } } }