Ga naar inhoud

Een tekenprogramma in JAVA


anoniem

Aanbevolen berichten

Hallo, Ik ben een tekenprogramma als paint aan het namaken in JAVA. Nu komt het volgende: Ik moet de tekening op kunnen slaan. Het opslaan zelf gaat wel lukken, maar de figuren moeten opgeslagen worden in een ArrayList. Als ik het bestand dan weer open dan moet paint de ArrayList weer aflopen en de tekening maken... Van de dingen die ik kan tekenen heb ik het beginpunt, eindpunt en de kleur. Deze moet ik opslaan in een element en het element opslaan in een ArrayList. Nu mijn vraag: Iemand een idee hoe ik het beste die ArrayList op kan zetten en op kan slaan? Alvast bedankt
Link naar reactie
even een kort antwoord zonder diep op de code in te gaan: in een ArrayList kun je meerdere type objecten kwijt - misschien is het handig deze objecten in de Arraylist te zetten (ik neem aan de de standaard java vormen uit de class paint gebruikt). Als je dit alles naar de hardeschijf schrijft moet het mogenlijk zijn om de eigenschappen van de objecten ook op te slaan. bij hte uitlezen van het bestand kun je weer de ArrayList aanmaken - de vormen weer in de ArryList te plakken en vervolgens de hele handel te repainted.
Link naar reactie
Je kunt ervoor kiezen om het object (en de aanhangende objecten) op te slaan via een ObjectOutputStream en in te lezen via een ObjectInputStream. Persoonlijk vind ik dat in dit geval geen goede toepassing. Het wegschrijven van objecten is eigenlijk voor andere toepassingen bedoeld. Ik zou ervoor kiezen om zelf een bestandformaat voor je plaatjes te bedenken. Bijkomend voordeel is natuurlijk de flexibiliteit. Wanneer het bestandformaat bekend is, kunnen andere tekenprogramma's in de toekomst ook gebruik maken van dat formaat en met jouw plaatjes overweg :D. Zo'n formaat kan in het simpelste geval natuurlijk gewoon in tekstformaat, bijvoorbeeld: [code:1:8bf29269fe] LINE (10,10) (100,100) (0,0,0) RECTANGLE (50,50) (50,50) (255,0,0) [/code:1:8bf29269fe] Dit denkbeeldig bestand tekent een lijn van (10,10) naar (100,100) met de kleur zwart (0,0,0) (RGB) en een rechthoek van (50,50) met een breedte en een hoogte van 50 en 50 met de kleur rood (255,0,0). Je leesklasse kan nu de ArrayList opbouwen (of welke andere Collection dan ook) met de nodige objecten. Succes.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...