Results 1 to 2 of 2
- 01-03-2011, 12:55 PM #1
Member
- Join Date
- Dec 2010
- Posts
- 55
- Rep Power
- 0
Drawing Serializable, how to save/load?
Hello all!
I've made a program where you could click points, and a line will appear between them. In this way you could make drawings (using ArrayList of Points). Now I want to save the drawing, and load the drawing. I made the class 'Tekening' Serializable. I'll post part of the Panel class here, just to make sure you understand the names.
I think I tried the wrong ting to save/load. I already tried to save the Points, but didn't work... Here is the code as I have it now.
Thanks already!Java Code:package tekenApplicatie; public class TekenPaneel extends JPanel implements ActionListener, MouseListener, KeyListener, MouseMotionListener { private ArrayList<Tekening> tekeningen = new ArrayList(); private Tekening huidigeTekening, tekeningtest; private boolean links = false, rechts = false, omhoog = false, beneden = false; private Random random = new Random(); private Timer timer = new Timer(10, this); private JFrame venster; private FileDialog dialoogvenster; private JButton openKnop, saveKnop; public TekenPaneel() { nieuweTekening(); addMouseListener(this); setFocusable(true); addMouseMotionListener(this); addKeyListener(this); this.timer.start(); saveKnop = new JButton("Bewaar als..."); saveKnop.addActionListener(this); add(saveKnop); openKnop = new JButton("Open tekening"); openKnop.addActionListener(this); add(openKnop); } public void nieuweTekening() { int red = this.random.nextInt(256); int green = this.random.nextInt(256); int blue = this.random.nextInt(256); Color kleur = new Color(red, green, blue); huidigeTekening = new Tekening(kleur); tekeningen.add(huidigeTekening); } public void bestandschrijven() { dialoogvenster = new FileDialog( venster, "Bewaar een bestand", FileDialog.SAVE); dialoogvenster.setVisible( true ); String bestandsnaam = dialoogvenster.getFile(); if (bestandsnaam != null) { String padEnBestand = dialoogvenster.getDirectory() + bestandsnaam; try { ObjectOutputStream uit = new ObjectOutputStream( new FileOutputStream( padEnBestand )); uit.writeObject( huidigeTekening ); System.out.println(tekeningen + "HuidigeTekeningenOpslaan:"); tekeningen.clear(); repaint(); uit.close(); } catch (IOException ex) { JOptionPane.showMessageDialog( null, "Er is een fout opgetreden bij het schrijven.", "Bewaren van bestand is mislukt", JOptionPane.WARNING_MESSAGE); } } } public void bestandlezen() { dialoogvenster = new FileDialog( venster, "Open een bestand", FileDialog.LOAD ); dialoogvenster.setVisible( true ); String bestandsnaam = dialoogvenster.getFile(); if (bestandsnaam != null) { String padEnBestand = dialoogvenster.getDirectory() + bestandsnaam; try { System.out.println( "EERSTE TEST:" + tekeningtest ); ObjectInputStream in = new ObjectInputStream( new FileInputStream( padEnBestand ) ); tekeningtest = (Tekening) in.readObject(); repaint(); System.out.println( "TWEEDE TEST:" + tekeningtest ); in.close(); } catch (IOException ex) { JOptionPane.showMessageDialog( null, "Er is een fout opgetreden bij het lezen.", "Inlezen van het bestand is mislukt", JOptionPane.WARNING_MESSAGE); } catch ( ClassNotFoundException ex ) { JOptionPane.showMessageDialog( null, "Er is een fout opgetreden bij het lezen.", "Inlezen van het bestand is mislukt", JOptionPane.WARNING_MESSAGE); } } } /** * voer de teken uit uit Tekeningen; teken dus de punten en de lijnen. */ public void paintComponent(Graphics g) { super.paintComponent(g); for (Tekening tekening : this.tekeningen) { tekening.teken(g); } } }Last edited by warchieflll; 01-03-2011 at 04:50 PM.
- 01-03-2011, 04:06 PM #2
Member
- Join Date
- Dec 2010
- Posts
- 55
- Rep Power
- 0
Similar Threads
-
Save/Load ArrayList
By chielt in forum New To JavaReplies: 3Last Post: 05-08-2011, 06:12 PM -
Load and Save images
By shakeel in forum Java 2DReplies: 13Last Post: 12-29-2010, 06:38 PM -
Arraylist Save and Load
By frankycool in forum Advanced JavaReplies: 1Last Post: 11-14-2009, 10:29 PM -
save will work but load wont?!?!
By Sticks_ll in forum New To JavaReplies: 1Last Post: 06-12-2008, 04:19 AM -
How to Save/Load Vector to/from file
By Java Tip in forum java.langReplies: 0Last Post: 04-14-2008, 08:37 PM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks