Sunteți pe pagina 1din 12

Programare Java

Curs 7
UTILIZAREA CLASELOR LEGATE DE GRAFICA , FONTURI SI CULORI
CLASA GRAPHICS
Un applet olo!e!te meto"a "ra#Str$ng%& pentr' a "e!ena te(t ) Font'l !$ *'loarea te(t'l'$ a' o!t "e+a
ale!e anter$or "e!enar$$ te(t'l'$ )
Te(t'l n' e!te !$ng'r'l l'*r' pe *are $l p'tem "e!ena $n erea!tra applet'l'$ , tot a$*$ p'tem $n!era l$n$$ ,
*er*'r$ , oval'r$ , "rept'ng-$'r$ !$ alte orme geometr$*e )
.a+or$tatea operat$$lor "e "e!enare !'nt meto"e "e$n$te $n *la!a Grap-$*! ) Intr/'n applet n' e!te
nevo$e !a *ream 'n o0$e*t Grap-$*! pentr' a p'tea "e!ena *eva / 'n'l "$ntre arg'mentele meto"e$
pa$nt%& e!te 'n o0$e*t Grap-$*! / a*e!ta repre1$nta erea!tra applet'l'$ $ar meto"ele !ale !'nt olo!$te
pentr' a "e!ena $n applet )
Cla!a Grap-$*! e!te parte a pa*-et'l'$ +ava)a#t , "e*$ toate applet'r$le *are "e!enea1a *eva tre0'$e !a
olo!ea!*a $n!tr'*t$'nea $mport pentr' a p'tea olo!$ a*ea!ta *la!a )
In e(empl'l 'rmator avem 'n applet *are olo!e!te "ra#Str$ng%& pentr' a a$!a 'n te(t 2
$mport +ava)a#t)Grap-$*!,
p'0l$* *la!! Harta e(ten"! +ava)applet)Applet 3
p'0l$* vo$" pa$nt%Grap-$*! e*ran& 3
e*ran)"ra#Str$ng%4Harta4,567,87&,
9
9
Pentr' a $n!era a*e!t applet tre0'$e !a *ream 'n $!$er HT.L *a *el "e ma$ +o! 2
:0o"; 0g*olor<*=*=*=>
:"$v al$gn<*enter>
:applet *o"e<4Harta)*la!!4 -e$g-t<?7@ #$"t-<?7@>
:Aapplet>
:A"$v>
:A0o";>
Toate *omen1$le "e 0a1a "e "e!enare !'nt meto"e ale *la!e$ Grap-$*! , apelate "$n *a"r'l meto"e$
pa$nt%& ) A*e!ta e!te lo*'l $"eal 'n"e !e pot "e!a!'ra toate operat$$le "e "e!enare "eoare*e meto"a e!te
apelata a'tomat or$*an" e!te nevo$e "e re$mpro!patarea ere!tre$ applet'l'$ ) Da*a erea!tra alt'$
program !e !'prap'ne pe!te applet !$ a*e!ta tre0'$e re"e!enat , $ntro"'*erea t't'ror operat$$lor "e
"e!enare $n meto"a pa$nt%& a!$g'ra *a n$*$ o parte a ere!tre$ n' va $ event'al !tr$*ata )
DESENAREA SI U.PLEREA
Pentr' ma+or$tatea ormelor pe *are p'tem !a le "e!enam $ntr/'n applet e($!ta "o'a t$p'r$ "e meto"e 2
"e "e!enare / *are "e!enea1a *ont'r'l orme$ , !$ "e 'mplere / *are 'mpl' orma *' *'loarea *'renta )
In $e*are t$p "e meto"a , *ont'r'l o0$e*t'l'$ e!te "e!enat !$ el *' *'loarea *'renta )
LINIILE
.eto"a "ra#L$ne%& e!te olo!$ta pentr' a "e!ena o l$n$e $ntre "o'a p'n*te ) .eto"a pr$me!te patr'
arg'mente 2 *oor"onatele ( , ; ale p'n*t'l'$ "e $n*ep't !$ *oor"onatele ( , ; ale p'n*t'l'$ $nal 2
"ra#L$ne %(5 , ;5 , (B , ;B &,
A*ea!ta meto"a "e!enea1a l$n$a *' gro!$mea "e 'n p$(el )
A"a'garea 'rmatoare$ l$n$$ "e *o" $n applet'l no!tr' anter$or / Harta)+ava / are *a re1'ltat tra!area 'ne$
l$n$$ $ntre *oor"onatele %567,6@& !$ %BBB,6@& 2
5
e*ran)"ra#L$ne%567,6@,BBB,6@&,
DREPTUNGHIURI
Cla!a Grap-$*! *ont$ne meto"e pentr' "o'a t$p'r$ "e "rept'ng-$'r$ 2 normale !$ *' *olt'r$le rot'n+$te )
Am0ele t$p'r$ "e "rept'ng-$'r$ pot $ "e!enate !'0 orma "e *ont'r !a' 'mpl'te *' *'loarea *'renta )
Pentr' a "e!ena 'n "rept'ng-$ normal !e olo!e!te meto"a "ra#Re*t%& pentr' *ont'r'r$ !$ $llRe*t%&
pentr' orma 'mpl'te )
Am0ele meto"e pre$a' patr' arg'mente 2
/ *oor"onatele ( !$ ; ale *olt'l'$ "$n !tanga/!'! al "rept'ng-$'l'$
/ lat$mea "rept'ng-$'l'$
/ $nalt$mea "rept'ng-$'l'$
A"a'gam a*'m 'rmatoarea l$n$e la applet'l no!tr' 2
e*ran)"ra#Re*t%B,B,?=7,?=7&,
A*ea!ta $n!tr'*t$'ne a"a'ga 'n *ont'r "rept'ng-$'lar aproape "e marg$n$le ere!tre$ applet'l'$ ) Da*a
am $ olo!$t meto"a $llRe*t%& toata 1ona applet'l'$ ar $ o!t a*oper$ta "e 'n "rept'ng-$ pl$n "e *'loare
, apt *e ar $ "'! la a*oper$rea te(t'l'$ )
Drept'ng-$'r$le *' *olt'r$le rot'n+$te !e "e!enea1a *' a+'tor'l meto"elor "ra#Ro'n"Re*t%& !$
$llRo'n"Re*t%& ) A*e!tea pre$a' a*elea!$ patr' arg'mente pentr' "rept'ng-$'r$ normale pl'! $n*a "o'a
arg'mente !'pl$mentare ) A*e!te "o'a arg'mente "e$ne!* lat$mea !$ $nalt$me 1one$ 'n"e !e rot'n+e!*
*olt'r$le ) C' *at a*ea!ta 1ona e!te ma$ mare *' atat ma$ rot'n+$te !'nt *olt'r$le ) Da*a a*e!te arg'mente
!'nt !'$*$ent "e mar$ "rept'ng-$'l poate "even$ *-$ar 'n *er* !a' 'n oval )
Pentr' a e(empl$$*a !$ a*ea!ta *oman"a !a a"a'gam o no'a l$n$e $n applet'l no!tr' 2
e*ran)"ra#Ro'n"Re*t%56B,C5,=?,B=,5@,6&,
Re1'ltat'l a*e!te$ $n!tr'*t$'n$ e!te "e!enarea 'n'$ "rept'ng-$ rot'n+$t *' o lat$me "e =? "e p$(el$ !$ o
$nalt$me "e B= "e p$(el$ ) Zona "rept'ng-$'lara pentr' $e*are *olt rot'n+$t e!te "e 5@ p$(el$ lat$me !$ 6
$nalt$me )
POLIGOANE
Pol$goanele !e real$1ea1a *' meto"ele "ra#Pol;gon%& !$ $llPol;gon%& )
Pentr' a real$1a "e!enarea avem nevo$e "e *oor"onatele ( !$ ; ale $e*ar'$ p'n*t *are "e$ne!te *olt'r$le
pol$gon'l'$ ) Pol$goanele pot $ "e$n$te *a o !er$e "e l$n$$ $nter*one*tate )
P'tem !pe*$$*a a*e!te *oor"onate $n "o'a mo"'r$ 2
/ *a o pere*-e "e ta0lo'r$ *' $ntreg$ , "$ntre *are 'n'l pa!trea1a valor$le *oor"onate$ ( !$ *elalalt
pa!trea1a toate valor$le *oor"onate$ ;
/ *a 'n o0$e*t Pol;gon *reat olo!$n" 'n ta0lo' *' valor$ $ntreg$ ale *oor"onate$ ( !$ 'n ta0lo'
*' valor$ $ntreg$ ale *oor"onate$ ;
A "o'a meto"a e!te ma$ le($0$la "eoare*e perm$te a"a'garea $n"$v$"'ala a p'n*telor 'n'$ pol$gon
$na$nte "e "e!enarea !a )
In aara "e *oor"onatele ( !$ ; tre0'$e !a !pe*$$*am !$ n'mar'l "e p'n*te al pol$gon'l'$ ) N' !e pot
!pe*$$*a ma$ m'lte *oor"onate ( , ; "e*at n'mar'l "e p'n*te !$ n$*$ $nver! ) In or$*are "$n a*e!te *a1'r$
*omp$lator'l va !emnala eroare )
pentr' a *rea 'n o0$e*t Pol$gon pr$m'l pa! e!te *rearea 'n'$ pol$gon gol , pr$ntr/o $n!tr'*t$'ne ne# 2
Pol;gon pol$g<ne# Pol;gon%&,
P'tem *rea 'n pol$gon !$ porn$n" "e la 'n !et "e p'n*te , olo!$n" ta0lo'r$ *' valor$ $ntreg$ ) A*ea!ta
ne*e!$ta 'n apel *atre *on!tr'*tor'l Pol;gon%$ntDE,$ntDE,$ntDE& , 'n"e !e !pe*$$*a ta0lo'l *' valor$ pentr'
*oor"onata ( , ta0lo'l *' valor$ pentr' *oor"onata ; !$ n'mar'l "e p'n*te % *olt'r$ & 2
B
$nt (DE<35@,B@,?@,=@,7@9,
$nt ;DE<357,B7,?7,=7,779,
$nt p'n*te<()lengt-,
Pol;gon pol$g<ne# Pol;gon%(,;,p'n*te&,
D'pa *rearea o0$e*t'l'$ Pol;gon !e pot a"a'ga p'n*te olo!$n" meto"a a""Po$nt%& ) A*ea!ta pre$a *a
arg'mente *oor"onatele ( !$ ; !$ a"a'ga p'n*t'l $n pol$gon 2
pol$g)a!!Po$nt%C@,C7&,
At'n*$ *an" o0$e*t'l pol$gon are toate p'n*tele el poate $ "e!enat olo!$n" 'na "$ntre meto"ele
"ra#Pol$;on%& !a' $llPol;gon%& ) A*e!te meto"e a' "rept 'n$* arg'ment o0$e*t'l Pol;gon 2
e*ran)"ra#Pol$gon%pol$g&,
Da*a olo!$m meto"a "ra#Pol;g%& p'tem $n*-$"e pol$gon'l !ta0$l$n" 'lt$mele *oor"onate ( , ; $"ent$*e
*' pr$mele ) Altel pol$gon'l va ramane "e!*-$! )
.eto"a $llPol;gon%& $n*-$"e a'tomat orma pol$gonala ara a ma$ $ nevo$e "e !pe*$$*area *oor"onate$
$nale $"ent$*e *' *ea $n$t$ala )
In*epan" *' ver!$'nea 5)5 a Java meto"a "ra#Pol;gon%& $n*-$"e !$ ea a'tomat pol$gon'l , "a*a "or$m
'n pol$gon "e!*-$! olo!$m o alta $n!tr'*t$'ne 2 "ra#Pol;l$ne%& / *' a*eea!$ 'n*t$onare *a
"ra#Pol;gon%& "$n Java anter$or ver!$'n$$ 5)5 )
Pentr' a "e!ena 'n pol$gon $n applet'l no!tr' a"a'gam l$n$$le "e *o" 2
$nt (DE<35@,B?=,B7?,BC5,?==,BF7,B7F,B@7,B55,5F7,5F5,5B@,F=,65,5B,5@9,
$nt ;DE<35B,57,B7,85,B@F,B86,?5@,B8=,566,585,58=,556,7C,C6,=F,?8,5B9,
$nt p*t<()lengt-,
Pol;gon pol$g<ne# Pol;gon%(,;,p*t&,
e*ran)"ra#Pol;gon%pol$g&,
Cla!a Pl;gon a*e parte "$n pa*-et'l +ava)a#t , "e*$ a*e!ta tre0'$e $mportat pr$n a"a'garea $n!tr'*t$'n$$
'rmatoare la $n*ep't'l applet'l'$ 2
$mport +ava)a#t)Pol;gon,
OGALE
.eto"ele "ra#Oval%& !$ $llOval !'nt 't$l$1ate pentr' a "e!ena *er*'r$ !$ ovale )
.eto"ele pre$a patr' arg'mente 2
/ *oor"onatele ( !$ ; ale oval'l'$
/ lat$me !$ $nalt$me oval'l'$ / *are $n *a1'l *er*'r$lor $a' valor$ egale
Deoare*e ovalele n' a' *olt'r$ a!a *a re!pe*t$vele *oor"onate ( !$ ; pe *are le pr$me!* a*e!te meto"e !e
reera "e apt la p'n*t'l "$n !tanga/!'! al 1one$ $n *are va $ "e!enat oval'l , alan"'/!e "e apt la
!tanga !$ ma$ !'! "e*at orma geometr$*a propr$'/1$!a )
In applet'l no!tr' !a a"a'gam 'rmatoarele $n!tr'*t$'n$ 2
e*ran)$llOval%B?7,5=@,57,57&,
e*ran)$llOval%BB7,5?@,57,57&,
e*ran)$llOval%B=7,5?@,57,57&,
A*e!tea !'nt meto"e "e 'mplere $ar re1'ltat'l lor vor $ tre$ *er*'r$ *olorate $n *'loarea *'renta )
ARCE DE CERC
?
De!enarea ar*elor "e *er* e!te o operat$e *eva ma$ *omple(a , 'n ar* e!te parte a 'n'$ oval , $$n"
$mplementat "e apt *a parte a 'n'$ oval part$al "e!enat )
Ar*ele !'nt olo!$te *' a+'tor'l meto"elor "ra#Ar*%& !$ $llAr*%& , *are pre$a' !a!e arg'mente 2
/ *oor"onatele ( !$ ; ale oval'l'$ "$n *are a*e parte ar*'l
/ lat$me !$ $nalt$me a*e!t'$ oval
/ 'ng-$'l "e 'n"e $n*epe tra!area ar*'l'$
/ n'mar'l "e gra"e al ar*'l'$
Pr$mele patr' arg'mente !'nt $"ent$*e *' *ele "$n *a1'l ovalelor !$ a' a*ela!$ rol *a !$ $n a*el *a1 )
Ung-$'l "e $n*ep't al ar*'l'$ $a valor$ $ntre @ !$ ?7F "e gra"e !$ *re!te $n !en! tr$gonometr$* % $nver!
a*elor "e *ea! & ) Pe 'n *er* "e orma 'n'$ *ea! p'tem ve"ea @ gra"e $n "rept'l ore$ ? , F@ "e gra"e la
ora 5B , 56@ "e gra"e la ora F !$ B8@ "e gra"e la ora C )
n'mar'l "e gra"e pe *are !e $nt$n"e ar*'l $a valor$ "e la @ la ?7F tot $n !en! *ontrar a*elor "e *ea! !a'
"e la @ la /?7F $n !en!'l a*elor "e *ea! )
Ar*ele 'mpl'te !'nt "e!enate *a !$ *an" ar $ el$$ "ar , $n lo* !a !e 'nea!*a "$re*t *ele "o'a p'n*te
term$nale a*e!tea !'nt 'n$te pr$n $nterme"$'l *entr'l'$ orme$ el$pt$*e % oval'l'$ & )
In *ont$n'are avem 'n e(empl' "e meto"a pentr' "e!enarea ar*elor 2
e*ran)"ra#Ar*%B@,B7,?57,57@,7,/5F@&,
A*ea!ta $n!tr'*t$'ne "e!enea1a 'n ar* oval *' *oor"onatele B@ !$ B7 , o lat$me "e ?57 p$(el$ !$ o
$nalt$me "e 57@ p$(el$ ) Ar*'l $n*epe la valoarea "e 7 gra"e !$ !e $nt$n"e pe o "$!tanta "e 5F@ "e gra"e
$n !en!'l a*elor "e *ea! )
Sa a"a'gam $n applet'l no!tr' o !er$e "e ar*'r$ *' *ara*ter$!t$*$le 'rmatoare 2
/ oval'l $e*ar'$ ar* are o lat$me !$ o $nalt$me egale *' 5@ p$(el$ , "e*$ oval'l "ev$ne "e apt *er*
/ $e*are ar* va $n*epe la @ gra"e !$ va merge 56@ "e gra"e $n !en!'l a*elor "e *ea! "e!enan" 'n
!em$*er*
Coor"onatele ( !$ ; ale ar*'l'$ !e vor mo"$$*a olo!$n"'/!e "o'a *$*l'r$ or 2
or%$nt a(<7@,a(:57@,a(H<5@&
or %$nt a;<5B@,a;:?B@,a;H<5@&
e*ran)"ra#Ar*%a(,a;,5@,5@,@,/56@&,
COPIEREA SI STERGEREA
Cla!a Grap-$*! *ont$ne !$ *ateva 'n*t$$ "e gen *'tIpa!te , apl$*a0$le ere!tre$ applet'l'$ 2
/ meto"a *op;Area%& / *are *op$a1a o reg$'ne "rept'ng-$'lara a ere!tre$ $ntr/o alta reg$'ne a
ere!tre$
/ meto"a *learRe*t%& / *are "e*'pea1a o reg$'ne "rept'ng-$'lara "$n erea!tra applet'l'$
.eto"a *op;Area%& pre$a !a!e arg'mente 2
/ *oor"onatele ( !$ ; ale reg$'n$$ "e *op$at
/ lat$mea !$ $nalt$mea reg$'n$$
/ "$!tanta pe or$1ontala !$ vert$*ala / $n p$(el$ / *' *are !e "epla!ea1a *op$a ata "e reg$'nea
$n$t$ala , $na$nte "e a$!are
Urmatoarea $n!tr'*t$'ne *op$a1a o reg$'ne "e 5@@ pe 5@@ "e p$(el$ $ntr/o 1ona alata *' 7@ "e p$(el$
ma$ la "reapta !$ *' B7 "e p$(el$ ma$ +o! 2
e*ran)*op;Area%@,@,5@@,5@@,7@,B7&,
.eto"a *learRe*t%& pre$a a*elea!$ patr' arg'mente *a !$ meto"a "ra#Re*t%& !a' $llRe*t%& , 'mplan"
reg$'nea "rept'ng-$'lara a!tel *reata *' *'loarea *'renta "e 'n"al a applet'l'$ )
=
Da*a "or$m !a !tergem $ntreaga erea!tra applet p'tem "eterm$na ma$ $nta$ "$men!$'nea ere!tre$
olo!$n" meto"a !$1e%& ) A*ea!ta ret'rnea1a 'n o0$e*t D$men!$on , *are po!e"a var$a0$lele #$"t- !$
-e$g-t , a*e!tea repre1$nta "$men!$'n$le applet'l'$ )
In *ont$n'are avem !$ 'n e(empl' "e 't$l$1are a meto"e$ 2
e*ran)*learRe*t%@,@,!$1e%&)#$"t-,!$1e%&)-e$g-t&,
In ver!$'n$le ma$ no$ "e Java *omp$lator'l ne va an'nta *a 'n*t$a !$1e%& e!te "epre*$ata , ea p'tan" $
$nlo*'$ta *' getS$1e%& , *are 'n*t$onea1a $"ent$* )
TEJT SI FONTURI
O0$e*tele *la!e$ +ava)a#t)Font !'nt olo!$te pentr' a p'tea 't$l$1a meto"a "ra#Str$ng%& *' "$er$te t$p'r$
"e *ara*tere ) O0$e*tele Font *ont$n n'mele , !t$l'l !$ "$men!$'nea $n p'n*te a 'n'$ ont ) O alta *la!a ,
Font.etr$*! , oera meto"e pentr' "eterm$narea "$men!$'n$lor !$ a *ara*terelor a$!a0$le *' 'n an'm$t
ont , *are pot $ olo!$te pentr' ormatarea !a' *entrarea te(t'l'$ )
CREAREA OKIECTELOR FONT
Un a!tel "e o0$e*t !e *rea1a pr$n apelarea *on!tr'*tor'l'$ !a' *' tre$ arg'mente 2
/ n'mele ont'l'$
/ !t$l'l ont'l'$
/ "$men!$'nea $n p'n*te a ont'l'$
N'mele poate $ "en'm$rea 'n'$ ont !pe*$* / "e e(empl' Ar$al !a' Garamon" / *are va po'tea $
olo!$t "a*a e!te "$!pon$0$l pe !$!tem'l 'n"e r'lea1a program'l ) E($!ta !$ alte n'me *are pot $ olo!$te
pentr' !ele*tarea ont'r$lor $nterne ale Java 2 T$me!Roman , Helvet$*a , Co'r$er , D$alog !$ D$alogInp't
)
In ver!$'n$le ma$ no$ "e Java n'mele ont'r$lor T$me!Roman , Helvet$*a !$ Co'r$er tre0'$e $nlo*'$te *'
!er$,!an!er$ !$ mono!pa*e" )
St$l'l "e ont poate avea tre$ valor$ , apelate olo!$n" *on!tantele Font)PLAIN , Font)KOLD !$
Font)ITALIC ) A*e!te *on!tante !'nt $ntreg$ !$ pot $ $n!'mate pentr' a o0t$ne o *om0$nat$e "e ee*te )
D$men!$'nea ont'l'$ e!te "ata $n p'n*te , *a $n e(empl'l "e ma$ +o! *are $mplementea1a 'n ont
D$alog "e B= "e p'n*te , *' *ara*tere 0ol" !$ $tal$*e 2
Font <ne# Font%4D$alog4,Font)KOLDHFont)ITALIC,B=&,
DESENAREA CARACTERELOR SI SIRURILOR
Pentr' a !ta0$l$ ont'l olo!$t $n applet !e 't$l$1ea1a meto"a !etFont%& a *la!e$ Grap-$*! , $mpre'na *' 'n
o0$e*t Font 2
e*ran)!etFont%&,
Te(t'l poate $ a$!at $ntr/o erea!tra applet *' a+'tor'l l'$ "ra#Str$ng%& ) A*ea!ta 'n*t$e olo!e!te
ont'l *'rent !ele*tat / !a' *el $mpl$*$t )
Urmatoarea meto"a pa$nt%& *rea1a 'n no' o0$e*t Font , !ta0$le!te ont'l *'rent la a*e!t o0$e*t !$
a$!ea1a 'n te(t la *oor"onatele 5@ , 5@@ 2
p'0l$* vo$" pa$nt%Grap-$*! e*ran& 3
Font <ne# Font%4T$me!Roman4,Font)PLAIN,8B&,
e*ran)!etFont%&,
e*ran)"ra#Str$ng%4Te(t "e a$!at $n applet4,5@,5@@&,
Galoarea ( repre1$nta lo*'l "e $n*ep't al marg$n$$ "$n !tanga a te(t'l'$ $ar ; e!te valoarea la *are !e
a$!ea1a l$n$a "e 0a1a a !$r'l'$ "e te(t )
7
AFLAREA DE INFOR.ATII DESPRE FONT
Cla!a Font.etr$*! poate $ olo!$ta pentr' a ala $normat$$ "etal$ate "e!pre ont'l *'rent , *'m ar $
lat$mea !a' $nalt$mea *ara*terelor pe *are le paote a$!a )
Pentr' a olo!$ meto"ele a*e!te$ *la!e , tre0'$e ma$ $nta$ *reat 'n o0$e*t Font.etr$*! pr$n meto"a
getFont.etr$*!%& ) A*ea!ta meto"a pr$me!te 'n !$ng'r arg'ment 2 'n o0$e*t Font )
Un o0$e*t Font.etr$*! poate apela ma$ m'lte meto"e 2
/ !tr$ngL$"t-%Str$ng& / $ntoar*e lat$mea totala a !$r'l'$ , $n p$(el$
/ *-arL$"t-%*-ar& / $ntoar*e lat$mea 'n'$ *ara*ter "at
/ getHe$g-t%& / $ntoar*e $nalt$mea totala a ont'l'$
In *ont$n'are avem 'n e(empl' "e 't$l$1are a meto"elor a*e!te$ *la!e Font.etr$*! 2
$mport +ava)a#t)Font,
$mport +ava)a#t)Grap-$*!,
$mport +ava)a#t)Font.etr$*!,
p'0l$* *la!! SoLong e(ten"! +ava)applet)Applet 3
p'0l$* vo$" pa$nt%Grap-$*! e*ran& 3
Font <ne# Font%4Co'r$er4,Font)KOLD,56&,
Font.etr$*! m<getFont.etr$*!%&,
e*ran)!etFont%&,
Str$ng !<4La reve"ere)4,
$nt (<%!$1e%&)#$"t-/m)!tr$ngL$"t-%!&&AB,
$nt ;<!$1e%&)-e$g-tAB,
e*ran)"ra#Str$ng%!,(,;&,
9
9
Determ$narea "$men!$'n$$ ere!tre$ applet'l'$ $n *a"r'l !a' e!te preera0$la meto"e$ "e "e$n$re a 'ne$
"$men!$'n$ !tat$*e $n applet , "eoare*e e!te ma$ le($0$la ) P'tem mo"$$*a *o"'l !'r!a HT.L al
applet'l'$ $n pag$na #e0 ara a mo"$$*a !$ program'l no!tr' , a*e!ta 'n*t$onan" $n *ont$n'are *ore*t )
CULORI
Cla!ele Color !$ ColorSpa*e "$n pa*-et'l +ava)a#t pot $ olo!$te pentr' a a"'*e *'loare $n applet'r$ !$
apl$*at$$ ) C' a+'tor'l a*e!tor *la!e p'tem !ta0$l$ *'lor$le *'rente olo!$te $n operat$$le "e "e!enare , *a
!$ *'loarea "e 'n"al pentr' 'n applet !a' alte ere!tre ) De a!emenea p'tem tran!lata o *'loare "$ntr/'n
!$!tem "e "e!*r$ere $n alt'l )
In mo" pre!ta0$l$t Java olo!e!te *'lor$le *onorm !$!tem'l'$ RGK ) In a*e!t !$!tem o *'loare e!te
"e!*r$!a pr$n *ant$tatea "e ro!' , ver"e !$ al0a!tr' pe *are o *ont$ne % re" / green / 0l'e & ) F$e*are "$ntre
*ele tre$ *omponente poate $ repre1entata *' 'n $ntreg "$n gama @ / B77 ) Com0$nat$a @,@,@ repre1$nta
negr' ) P'tem !pe*$$*a o *om0$nat$e RGK !$ pr$n tre$ valor$ $n v$rg'la mo0$la , $n gama @ / 5 )
Un alt !$!tem "e *'lor$ / !a' !pat$' "e *'lor$ / e!te CM.N , *are !pe*$$*a o *'loare pr$n *ant$tatea "e
a1'r$' % *;an & , mov % magenta & , gal0e % ;ello# & !$ negr' % 0la*O & )
JavaB !'porta olo!$rea or$*ar'$ t$p "e !pat$' "e *'lor$ atata t$mp *at olo!$m 'n o0$e*t ColorS;!tem
*are "e$ne!te !$!tem'l re!pe*t$v "e "e!*r$ere a *'lor$lor )
Repre1entarea $nterna a *'lor$lor $n Java olo!$n" RGK e!te !pat$'l "e *'loare 't$l$1at $n program ,
"$!po1$t$vele "e $e!$re pot avea !$ ele propr$$le !pat$$ "e *'loare )
In pra*t$*a o *'loare "e$n$ta RGK poate !a apara '!or "$er$t pe 'n alt "$!po1$t$v "e $e!$re "e*at
mon$tor'l ) Pentr' 'n *ontrol ma$ 0'n a!'pra *'lor$$ p'tem olo!$ ColorSpa*e !a' alte *la!e "$n
pa*-et'l +ava)a#t)*olor )
FOLOSIREA OKIECTELOR COLOR
Pentr' a !ta0$l$ *'loarea *'renta "e "e!enare tre0'$e !a *ream 'n o0$e*t Color *are !a repre1$nte
*'loarea "or$ta , $e !a olo!$m 'na "$ntre *'lor$le !tan"ar" e($!tente $n *la!a )
C
Pentr' a *rea o *'loare avem "o'a meto"e "e apelare a meto"e$ *on!tr'*tor Color 2
/ olo!$rea a tre$ $ntreg$ pentr' valor$le RGK "or$te
/ olo!$rea a tre$ n'merel reale $ntre @ !$ 5 *are !a repre1$nte a*ela!$ l'*r'
P'tem "e$n$ valoarea RGK a *'lor$$ $n 'rmatoarele mo"'r$ 2
Color *5<ne# Color%@)6@8F,5F,@F&,
Color *B<ne# Color%B77,B@=,5@B&,
TESTAREA SI STAKILIREA CULORILOR CURENTE
C'loarea *'renta pentr' "e!enare e!te "e!emnata olo!$n" meto"a !etColor%& a *la!e$ Grap-$*! )
A*ea!ta meto"a tre0'$e apelata pentr' o0$e*t'l Grap-$*! *are repre1$nta 1ona $n *are "e!enam ) Intr/'n
applet a*e!t o0$e*t e!te *el tran!m$! meto"e$ pa$nt%& )
O mo"al$tate "e a !ta0$l$ *'loarea "e "e!enare e!te olo!$rea 'ne$a "$ntre *'lor$le !tan"ar" "$!pon$0$le
*a var$a0$la "e *la!a $n *la!a Color )
A*e!te *'lor$ olo!e!* 'rmatoarele var$a0$le Color 2
/ 0la*O , 0l'e , *;an , "arOGra; , gra; , green , l$g-tGra; , magenta , orange , p$nO , re" , #-$te ,
;ello# )
Urmatoarea $n!tr'*t$'ne !ta0$le!te *'loarea *'renta pentr' o0$e*t'l e*ran olo!$n" 'na "$ntre var$a0$lele
!tan"ar" "e *la!a 2
e*ran)!etColor%Color)p$nO&,
Da*a am *reat 'n o0$e*t Color el poate $ 't$l$1at $n mo" a!emanator 2
Color *'loare<ne# Color%B77,B@=,5@B&,
e*ran)!etColor%*'loare&,
D$n a*e!t moment toate operat$$le "e "e!enare vor olo!$ a*ea!ta *'loare )
P'tem !ta0$l$ *'loarea "e 'n"al $ntr/o erea!tra applet olo!$n" meto"ele !etKa*Ogro'n"%& !$
!etForegro'n"%& ) A*e!tea !'nt mo!ten$te "e *la!a Applet "e la'na "$ntre !'per*la!ele !ale a!a $n*at
toate applet'r$le *reate vor mo!ten$ !$ ele a*e!te meto"e )
.eto"a !etKa*Ogro'n"%& !etea1a *'loare "e 'n"al pr$m$n" *a arg'ment 'n o0$e*t Color )
.eto"a !etForegro'n"%& 'n*t$onea1a la el *a meto"a !etColor , "ar !*-$m0a *'loarea 'ne$
*omponente a $nterete$ gra$*e / *a "e e(empl' 'n 0'ton !a' o erea!tra ) Dator$ta apt'l'$ *a 'n applet
e!te o erea!tra p'tem olo!$ !etForegro'n"%& $n meto"a $n$t%& pentr' a !eta *'lor$le pentr' operat$$le "e
"e!enare ) A*ea!ta *'loare va $ olo!$ta pana la alegerea 'ne$ alte *'lor$ *' 'na "$ntre meto"ele
!etForegro'n"%& !a' !etColor%& )
Da*a vrem !a alam *are e!te *'loarea *'renta p'tem olo!$ *'loarea getColor%& pentr' 'n o0$e*t
gra$* , re!pe*t$v 'na "$ntre meto"ele getForegro'n"%& !a' getKa*Ogro'n"%& pentr' *la!a Applet )
Urmatoarea $n!tr'*t$'ne !ta0$le!te *'loarea *'renta pentr' e*ran / 'n o0$e*t Grap-$*! / *a $$n" a*eea!$
*' 'n"al'l applet'l'$ 2
e*ran)!etColor%getKa*Ogro'n"%&&,
OPERATII GRAFICE FOLOSIND JAGABD
Una "$ntre $m0'natat$r$le a"'!e "e JavaB e!te JavaBD , 'n !et "e *la!e pentr' *rearea 'nor $mag$n$ !$
te(te 0$"$men!$onale "e $nalta *al$tate ) Cla!ele JavaBD e(t$n" a*$l$tat$le *la!elor gra$*e "$n +ava)a#t ,
*'m !'nt *ele pe *are le/am va1't $n pag$n$le anter$oare ) Ele n' $nlo*'$e!* *la!ele e($!tente *$ "oar
a"'* po!$0$l$tat$ no$ )
F'n*t$$le JavaBD *ont$n pr$ntre altele 2
8
/ meto"e !pe*$ale "e 'mplere *' "egra"e'r$ !$ te(t'r$
/ t'!e *are "e$ne!* gro!$me !$ !t$l'l "e!en'l'$
/ po!$0$l$tat$ "e nete1$re a marg$n$lor o0$e*telor "e!enate % ant$/al$a!$ng &
SPATIUL DE COORDONATE AL UTILIZATORULUI SI CEL AL DISPOZITIGULUI
Un'l "$ntre *on*eptele "$n JavaBD e!te "$erent$erea $ntre !pat$'l "e *oor"onate al "$!po1$t$v'l'$ "e
$e!$re !$ !pat$'l "e *oor"onate la *are ne reer$m *an" "e!enam )
Pentr' toate operat$$le "e "e!enare "e pana a*'m !$ng'r'l !pat$' "e *oor"onate olo!$t era *el al
"$!po1$t$v'l'$ ) Se !pe*$$*a' *oor"onatele ( !$ ; ale 'ne$ !'praete "e $e!$re / *a erea!tra Applet / !$
a*e!te *oor"onate era' olo!$te pentr' a "e!ena l$n$$ , te(t !$ altele )
JavaBD are nevo$e "e 'n al "o$lea !pat$' "e *oor"onate , la *are a*em reer$re at'n*$ *an" *ream !$
"e!enam 'n o0$e*t ) A*e!ta e!te n'm$t !pat$' "e *oor"oante al 't$l$1ator'l'$ )
Ina$nte "e a olo!$ operat$$ "e "e!enare JavaBD $n program , !pat$'l "$!po1$t$v'l'$ !$ *el al 't$l$1ator'l'$
a' p'*t'l "e *oor"onate @ , @ $n a*ela!$ lo" , *olt'l "$n !tanga/!'! al 1one$ "e "e!enare )
Coor"onata @,@ a !pat$'l'$ 't$l$1ator !e poate "epal!a *a 'rmare a 'ne$ operat$$ "e "e!enare BD ) C-$ar
!$ a(ele ( , ; !e pot mo"$$*a "rept 'rmare a 'ne$ rot$r$ BD )
CONGERSIA LA UN OKIECT GRAPHICSBD
Operat$$le "e "e!enare "e pana a*'m !'nt apelate pentr' o0$e*te Grap-$*! *e repre1$nta 1ona $n *are
"e!enam , pentr' JavaBD a*e!t o0$e*t tre0'$e olo!$t pentr' a *rea 'n no' o0$e*t Grap-$*!BD , *a $n
'rmatoarea meto"a pa$nt%& 2
p'0l$* vo$" pa$nt%Grap-$*! e*ran& 3
Grap-$*!BD e*ranBD<%Grap-$*!&e*ran,
9
O0$e*t'l e*ranBD "$n e(empl'l no!tr' a o!t pro"'! pr$ntr/o *onver!$e *a!t ) El e!te o0$e*t'l e*ran ,
*onvert$t "$ntr/o *la!a $n alta )
Toate operat$$le gra$*e JavaBD tre0'$e apelate pentr''n o0$e*t Grap-$*!BD , a*ea!ta *la!a ,
Grap-$*!BD , a*e !$ ea parte "$n +ava)a#t )
SPECIFICAREA ATRIKUTELOR DE RANDARE
De!enele *are n' !'nt BD pot !ele*ta 'n !$ng'r atr$0't 2 *'loarea ) BD oera o gama larga "e atr$0'te "e
*'loare , gro!$mea l$n$e$ , mo"el'l "e 'mplere , tran!parenta !$ altele )
CULORI BD
C'lor$le !'nt !pe*$$*ate olo!$n" meto"a !etColor%& , *are 'nt$onea1a la el *' meto"a Grap-$*! *'
a*ela!$ n'me / "$erenta *on!tan" $n o0$e*t'l arg'ment *are a*'m e!te "e t$p Grap-$*!BD )
.ODELE DE U.PLERE
Te(t'r$le !a' mo"elele "e 'mplere , "e$ne!* mo"'l *'m e!te 'mpl't 'n o0$e*t ) In JavaBD p'tem
olo!$ o *'loare !ol$"a , 'n "egra"e , o te(t'ra !a' 'n mo"el oare*are )
Un mo"el "e 'mplere e!te "e$n$t pr$n olo!$rea meto"e$ !etPa$nt%& a *la!e$ Grap-$*!BD , avan" *a
arg'ment 'n o0$e*t Pa$nt ) Interata Pa$nt e!te $mplementata "e $e*are *la!a *are poate +'*a rol'l 'n'$
mo"el "e 'mplere / *a "e e(empl' Gra"$entPa$nt , Te(t'rePa$nt !a' Color )
O 'mplere $n "egra"e $n!eamna o tre*ere gra"ata "e la o *'loare la alta $ntre "o'a *oor"onate ) A*ea!ta
"epla!are a *'lor$$ poate aparea o !$ng'ra "ata $ntre *ele "o'a *oor"onate , *a1 $n *are !e n'me!te
a*$*l$*a !a' poate apare $n mo" repetat , *a1 $n *are !e n'me!te *$*l$*a )
P'n*tele "e *oor"onate "$ntr/'n "egra"e n' !e reera "$re*t la p'n*tele o0$e*t'l'$ Grap-$*!BD pe *are
"e!enam ) De apt ele !e reera la !pat$'l 't$l$1ator !$ !e pot ala *-$ar $n aara o0$e*t'l'$ *e 'rmea1a a $
'mpl't *' re!pe*t$v'l "egra"e )
Un apel *atre *on!tr'*tor'l Gra"$entPa$nt e!te "e orma 2
Gra"$entPa$nt%(5,;5,*'loare5,(B,;B,*'loareB&,
6
P'n*t'l (5,;5 e!te p'n*t'l "e 'n"e $n*epe *'loare *'loare5 $ar (B,;B e!te p'n*t'l 'n"e !e term$na
tre*erea la *'loareB )
Pentr' a $mplementa 'n "egre"e *$*l$* $ntro"'*em 'n arg'ment !'pl$mentar 2
Gra"$entPa$nt%(5,;5,*'loare5,(B,;B,*'loareB,tr'e&,
Ult$m'l arg'ment e!te o valoare 0ooleana *are are valoarea tr'e pentr' "egr"e'l *$*l$* , arg'ment'l
al!e poate $ olo!$t pentr' var$anta a*$*l$*a !a' poate $ om$! )
D'pa *e am "e$n$t 'n o0$e*t Gra"$entPa$nt $l vom "e*lara atr$0't *'rent "e "e!enare *' !etPa$nt%& 2
Gra"$entPa$nt mo"el<ne# Gra"$entPa$nt%@,@,Color)#-$te,5@@,=7,Color)0l'e&,
e*ranBD)!etPa$nt%mo"el&,
Toate operat$$le "e "e!enare *are vor 'rma pentr' o0$e*t'l e*ranBD vor olo!$ a*e!t mo"el "e 'mplere )
STAKILIREA UNEI TUSE DE DESEN
L$n$$le "e!enate $n operat$$le non/JavaBD a' gro!$mea !tan"ar" "e 5 p$(el ) JavaBD "a po!$0$l$tatea "e a
mo"$$*a gro!$mea l$n$e$ "e "e!enare *' meto"a !etStroOe%& pentr' 'n o0$e*t Ka!$*StroOe )
Un *on!tr'*tor Ka!$*Strole !$mpl' pre$a tre$ arg'mente 2
/ o valoare loat pentr' gro!$mea l$n$e$ , valoarea $mpl$*$ta $$n" 5)@
/ o valoare $nt *are "eterm$na !t$l'l term$nat$e$ l$n$e$
/ o valoare $nt *are "eterm$na !t$l'l $m0$nar$$ $ntre "o'a !egmente "e l$n$e
St$l'r$le "e term$nat$e % en"*ap & !'nt apl$*ate l$n$$lor *are n' !e *one*tea1a la alte l$n$$ ) St$l'r$le "e
$m0$nare % +'n*t're & !'nt apl$*ate *apetelor "e l$n$e *are !e *one*tea1a la alte l$n$$ )
St$l'r$le po!$0$le pentr' term$nat$$ !'nt CAPPKUTT % ara term$nat$e & , CAPPROUND % pentr'
term$nat$$ *$r*'lare & !$ CAPPSQUARE % pentr' term$nat$$ re*tang'lare &
D$erenta $ntre pr$m'l !$ 'lt$mel !t$l e!te oarte m$*a , o l$n$e *' CAPPSQUARE $$n" ma$ l'nga ,
"ator$ta term$nat$e$ "e orma patrata )
St$l'r$le "e $m0$nare !'nt JOINP.ITER % pentr' $m0$narea pr$n prel'ng$rea m'*-$$lor e(ter$oare & ,
JOINPROUND % pentr' $m0$narea rot'n+$ta & !$ JOINPKEGEL % pentr' o $m0$nare te!$ta & )
E(empl'l "e ma$ +o! *rea1a 'n o0$e*t Ka!$*StroOe !$ $l !ta0$le!* "rept !t$l "e t'!a *'rent 2
Ka!$*StroOe *re$on<Ka!$*StroOe%B)@,Ka!$*StroOe)CAPPKUTT,Ka!$*StroOe)JOINPROUND&,
e*ranBD)!etStroOe%*re$on&,
Ee*t'l l$n$$lor "e ma$ !'! e!te o t'!a "e B p$(el$ , term$nat$$ nete"e ale !egmentelor !$ *olt'r$ "e
$m0$nare rot'n+$te )
CREAREA OKIECTELOR CE GOR FI DESENATE
De!enarea o0$e*telor $n JavaBD !e a*e pr$n "e$n$rea lor *a orme geometr$*e , olo!$n" *la!ele
pa*-et'l'$ +ava,a#t)geom ) P'tem "e!ena toate ormele $ntaln$te pana a*'m / l$n$$ , "rept'ng-$'r$ ,
ovale , ar*e !$ pol$goane )
Cla!a Grap-$*!BD n' po!e"a meto"e "$er$te pentr' "e!enarea $e*are$a "$ntre orme ) In !*-$m0 !e
"e$ne!te ma$ $nta$ orma "or$ta !$ apo$ !e olo!e!te *a arg'ment pentr' 'na "$ntre meto"ele $ll%& !a'
"ra#%& )
LINII
Se *rea1a olo!$n" *la!a L$neB")Float ) A*ea!ta *la!a pre$a patr' arg'mente 2 *oor"onetele ( , ; ale 'n'$
*apat "e !egment !$ *oor"onatele ( , ; ale *el'$lalt *apat 2
L$neBD)Float ln<ne# L$neBD)Float%C@,7,5?,B6&,
F
A*ea!ta $n!tr'*t$'ne *reea1a o l$n$e $ntre p'n*tele C@,7 !$ 5?,B6 ) .ent$onam 't$l$1area l$tere$ pentr'
!pe*$$*area t$p'l'$ loat pentr' arg'mente )
DREPTUNGHIURI
A*e!tea !'nt *reate olo!$n" *la!ele Re*tangleBD)Float !a' Ra*rtangleBD)Do'0le ) D$erenta $ntre *ele
"o'a e!te t$p'l arg'mentelor )
Re*tangleBD)Float pr$me!te patr' arg'mente 2 *oor"onatele ( , ; , lat$mea !$ $nalt$mea 2
Re*tangleBD)Float "r<ne# Re*tangleBD)Float%5@,5?,=@,B@&,
ELIPSE
O0$e*tele ovale !'nt n'm$te $n JavaBD el$p!e !$ pot $ *reate *' *la!a Ell$p!eBD)Float ) E!te nevo$e "e
patr' arg'mente 2 *oor"onatele ( , ; , lat$mea !$ $nalt$mea )
In!tr'*t$'nea "e ma$ +o! *rea1a o el$p!a la *oor"onata 55?,B7 *' o lat$me "e BB p$(el$ !$ o $nalt$me "e
=@ p$(el$ 2
Ell$p!eBD)Float el/ne# Ell$p!eBD)Float%55?,B7,BB,=@&,
ARCE
A*e!tea !'nt *reate pr$n *la!a Ar*BD)Float ) S'nt *reate a!emanator *' ver!$'nea lor non/BD "ar *' o
"$erenta 2 p'tem !ta0$l$ mo"'l "e $n*-$"ere )
Ar*BD)Float pr$me!te !apte arg'mente ) Pr$mele patr' !e reera la el$p!a "$n *are a*e parte ar*'l 2
*oor"onatele ( , ; , lat$mea !$ $nalt$mea ) Ult$mele tre$ !e reera la 'ng-$'l "e 'n"e $n*epe "e!enarea ,
n'mar'l "e gra"e pe *are !e $nt$n"e !$ 'n $ntreg *are !ta0$le!te mo"'l "e $n*-$"ere )
E($!ta o "eo!e0$re ata "e ar*ele non/BD 2 n'mar'l "e gra"e pe *are !e $nt$n"e ar*'l BD e!te !pe*$$*at
*a avan" !en!'l po1$t$v $n !en!'l a*elor "e *ea! )
Ult$m'l arg'ment olo!e!te 'na "$ntre var$a0$lele "e *la!a 2 Ar*BD)OPE % pentr' ar* "e*-$! & ,
Ar*BD)CHORD % pentr' 'n ar* ale *ar'$ *apete !'nt 'n$te pr$ntr/o l$n$e "reapta & !$ Ar*BD)PIE % pentr'
'n ar* *' *apetele 'n$te pr$n $nterme"$'l *entr'l'$ el$p!e$ ) .a$ tre0'$e ment$onat *a !t$l'l "e $n*-$"ere
Ar*BD)OPEN n' !e apl$*a ar*elor 'mpl'te , 'n a!tel "e ar* 'mpl't va $ a'tonat $n*-$! *' !t$l'l
Ar*BD)CHORD )
In!tr'*t$'n$le "e ma$ +o! *rea1a 'n ar* "$ntr/o el$p!a *' *oor"onatele B8,BB, =B "e p$(el$ lat$me !$ ?@
$nalt$me ) Ar*'l $n*epe la ?? "e gra"e , !e $nt$n"e pe F@ "e gra"e $n !en!'l a*elor "e *ea! !$ va $ $n*-$!
pr$n $nterme"$'l *entr'l'$ el$p!e$ 2
Ar*BD)Float ar*<ne# Ar*BD)Float%B8,BB,=B,?@,??,F@,Ar*BD)PIE&,
POLIGOANE
A*e!tea !'nt *reate $n JavaBD pr$n "epla!ar$le "$ntr/'n p'n*t al pol$gon'l'$ $n alt'l ) Un pol$gon poate
$ ormat "$n l$n$$ "repte , *'r0e patrat$*e !a' *'r0e Ke1$er )
Depla!ar$le ne*e!are pentr' *rearea pol$gon'l'$ !'nt "e$n$te $n o0$e*t'l GeneralPat- , *are apart$ne
pa*-et'l'$ +ava)a#t)geom )
Un o0$e*t GeneralPat- poate $ *reat ara arg'mente 2
GeneralPat- pol$g<ne# GeneralPat-%&,
.eto"a moveTo%& a *la!e$ GeneralPat- e!te olo!$ta pentr' a *rea pr$m'l p'n*t al pol$gon'l'$ )
Urmatoarea $n!tr'*t$'ne poate $ olo!$ta pentr' a $n*epe pol$gon'l "e la *oor"onatele 7,@ 2
pol$g)moveTo%7,7&,
5@
D'pa *rearea pr$m'l'$ p'n*t , meto"a l$neTo%& !e olo!e!te pentr' *rearea 'ne$ l$n$$ *are $n*epe "$n
p'n*t'l *'rent !$ !e term$na $ntr/'n no' p'n*t ) .eto"a pr$me!te "o'a arg'mente 2 *oor"onatele ( !$ ;
ale no'l'$ p'n*t )
Urmatoarele $n!tr'*t$'n$ *rea1a tre$ l$n$$ pentr' o0$e*t'l pol$g 2
pol$g)l$neTo%B@7,@&,
pol$g)l$neTo%B@7,F@&,
pol$g)l$neTo%7,F@&,
.eto"ele l$neTo%& !$ moveTo%& pr$me!* *a arg'mente ale *oor"onatelor valor$ loat%& ) Da*a vrem !a
$n*-$"em 'n pol$gon !e poate olo!$ meto"a *lo!ePat-%& ara n$*$ 'n arg'ment 2
pol$g)*lo!ePat-%&,
A*ea!ta meto"a $n*-$"e 'n pol$gon pr$n *one*tarea p'n*t'l'$ *'rent *' p'n*t'l !pe*$$*at $n *el ma$
re*ent apel "e meto"a moveTo%& ) P'tem $n*-$"e pol$gon'l !$ ara a*ea!ta meto"a , pr$n olo!$rea
meto"e$ L$neTo%& *are *one*tea1a p'n*t'l *'rent *' p'n*t'l$n$t$al al pol$gon'l'$ )
O "ata *reata orma pol$gonala ea poate $ repre1entata % "e!enata & *a or$*e alt o0$e*t , *' meto"ele
$ll%& !a' "ra#%& )
DESENAREA OKIECTELOR
Toate o0$e*tele pe *are le vom "e!ena $n *ont$n'are olo!e!* meto"e ale *la!e$ Grap-$*!BD 2 "ra#%& !$
$ll%& ) A*e!te meto"e pr$me!* *a 'n$* arg'ment o0$e*t'l *e tre0'$e "e!enat )
S$r'r$le !'nt "e!enate $n JavaBD tot *' "ra#Str$ng%& ) A*ea!ta pre$a tre$ arg'mente 2 o0$e*t'l Str$ng !$
*oor"onatele ( !$ ; / *' ment$'nea *a a*e!te *oor"onate !'nt "e t$p loat , *a la toate *oor"onatele "$n
JavaBD )
Sa $n*-e$em pro0lemat$*a a0or"ata $n a*e!t *'r! *' 'n e(empl' "e "e!enare BD 2
$mport +ava)a#t)R,
$mport +ava)a#t)geom)R,
p'0l$* *la!! HartaBD e(ten"! +ava)applet)Applet 3
p'0l$* vo$" pa$nt%Grap-$*! e*ran& 3
Grap-$*!BD e*ranBD<%Grap-$*!BD&e*ran,
!etKa*Ogro'n"%Color)0l'e&,
AADe!enare val'r$
e*ranBD)!etColor%Color)#-$te&,
Ka!$*StroOe *re$on<ne# Ka!$*StroOe%BF,Ka!$*StroOe)CAPPKUTT,Ka!$*StroOe)JOINPROUND&,
e*ranBD)!etStroOe%*re$on&,
or %$nt a(<5@,a(:?=@,a(H<5@&
or %$nt a;<?@,a;:?=@,a;H<5@&3
Ar*BD)Float val<ne# Ar*BD)Float%a(,a;,5@,5@,@,/56@,Ar*BD)OPEN&,
e*ranBD)"ra#%val&,
9
AADe!enare -arta
Gra"$entPa$nt "egra"e<ne# Gra"$entPa$nt%@F,@F,Color)green,7@F,7@F,Color)orange,tr'e&,
e*ranBD)!etPa$nt%"egra"e&,
GeneralPat- 5<ne# GeneralPat-%&,
5)moveTo%5@F,5BF&,
5)l$neTo%B?=F,57F&,
5)l$neTo%B7?F,B7F&,
5)l$neTo%BC5F,85F&,
5)l$neTo%?==F,B@FF&,
5)l$neTo%??CF,B86F&,
5)l$neTo%BF7F,?5@F&,
5)l$neTo%B7FF,B8=F&,
5)l$neTo%B@7F,566F&,
5)l$neTo%B55F,585F&,
55
5)l$neTo%5F7F,58=F&,
5)l$neTo%5F5F,556F&,
5)l$neTo%5B@F,7CF&,
5)l$neTo%F=F,C6F&,
5)l$neTo%65F,=FF&,
5)l$neTo%5BF,?8F&,
5)*lo!ePat-%&,
e*ranBD)$ll%5&,
AADe!enare el$p!e
e*ranBD)!etColor%Color)0la*O&,
Ka!$*StroOe *re$onB<ne# Ka!$*StroOe%&,
e*ranBD)!etStroOe%*re$onB&,
Ell$p!eBD)Float e5<ne# Ell$p!eBD)Float%B?7,5=@,57,57&,
Ell$p!eBD)Float eB<ne# Ell$p!eBD)Float%BB7,5?@,57,57&,
Ell$p!eBD)Float e?<ne# Ell$p!eBD)Float%B=7,5?@,57,57&,
e*ranBD)$ll%e5&,
e*ranBD)$ll%eB&,
e*ranBD)$ll%e?&,
9
9
5B

S-ar putea să vă placă și