Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Een tekenprogramma in JAVA

LabRat
4 antwoorden
  • 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
  • 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.
  • Ik kan kiezen tussen een ArrayList en een LinkedList. Een LinkedList vind ik echter fijner werken. Verder werk ik met de swing klasse (Dus JApplet enz.)
  • 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.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.