[LUGOS-PROG] Enostavna grafika v Javi - vprasanje

ivo.list at guest.arnes.si ivo.list at guest.arnes.si
Sun Jul 7 23:24:33 CEST 2002


Ja, odgovor potrebuje bolj Java programerja, kot pa matematika.

Graphics razred je zgolj abstrakcija, kar pomeni da je implementacija
odvisna od sistema na katerem program uporabljas.

Zadevo moras obrniti okoli. Najbolj pogosta resitev je, da metodam ki
nekaj risejo dodas parameter Graphics in nato pac rises nanj. V metodi
paint pa imas klic: mojobjekt.narisime(g, parameter1, ...)

(nekdo me je ravnokar prehitel z odgovorom)

Druga varianta je, da naredis sliko v spominu in rises nanjo. Naceloma, ce
hoces lepo resitev moras imeti parameter tipa Component, ki je komponenta
na katero rises. (razlog so razlicni toolkiti, beri naprej). Da naredis
sliko uporabis kodo mojakomponenta.getToolkit().createImage(w,h); ali
Toolkit.getDefaultToolkit().createImage(w,h), kar je manj splosna resitev,
vendar ne rabis komponente.

Naprej je enostavno: mojaslika.getGraphics()..

Aja se en nasvet. Vcasih moras poklicati mojtoolkit.sync(). Na nekateri
sistemih se vsa risarija shrani v buffer zaradi hitrejsega delovanja in se
ti potem ne izrise.

Lp, Ivo

p.s. prosim za feedback

On Sun, 7 Jul 2002, Damir Dezeljin wrote:

> Pozdravljeni.
> 
> Ze cel dan sem zgubil z grafiko v javi. Rad bi naredil en class, ki bi mu 
> podal recimo velikost in kot vektorja hitrosti, on pa bi mi vrnil graphic 
> objekt, katerega bi lahko pol uporabil v paint() metodi - v bistvu moram 
> risati vec vektorjev - vektorski diagram. 
> 
> Kaj kdo ve kako bi naredil nekaj ala:
> ____
> Shape v = new Graphics();
> v.line(x1,y1,x2,y2);
> v.puscica(...);
> return v;
> ____
> pol pa bi v paint() uporabil ta v nekako:
> 
> void paint(Graphics img) {
> ...
> img.append(v,x1,y1);
> ...
> }
> ____
> Seveda to ne dela ... mene zanima kako bi to nekako realiziral - vsaka 
> ideja ali se boljse resitev je dobrodosla.
> 
> Hvala in lp,
> Dezo
> 
> 
> 




More information about the lugos-prog mailing list