Está en la página 1de 18

!"#$%&' )*+,-.

&'
MeLodo palnLComponenL
/0%&1& 2+-3%4&52&3$3%
67+3$8
Ll meLodo palnLComponenL de !panel por defecLo hace cosas
que no debemos de[arlas de hacer, por esLa razn lo prlmero
que se debe hacer es la llamada !"#$%&#'()*+,-#,)$)*
publlc vold palnLComponenL(Craphlcs g)
Ll parmeLro Craphlcs g" represenLa al ob[eLo de conLexLo
grco" que es el encargado de dlbu[ar cualquler graco
sobre el panel.
/0%&1& 2+-3%4&52&3$3%
67+3$8
publlc vold palnLComponenL(Craphlcs g)
Caranuza que Lodo !anel que al que se le pase un ob[eLo
grco esLe sea un Craphlcs2u (can casL)
Los paneles uenen un Lamano por defecLo (pequenos), por
eso pueden resulLar muy pequenos cuando usamos denLro de
ellos algun layouL, para correglr esLo se usa el meLodo
seLreferredSlze(ulmenslon) para hacerlo ms grande
ara refrescar un panel no se puede llamar al meLodo
palnLComponenL, enLonces se llama al meLodo repalnL()
un ob[eLo de la clase Craphlcs represenLa una supercle de
dlbu[o en parucular
uene un conLexLo graco en el cual las formas sern rederlzadas
La clase Craphlcs aun exlsLe pero !ava agreg una clase
me[orada en la llbrerl 2u en !ava 1.3, se llama Craphlcs2u
1lene me[ores habllldades de dlbu[ado
Ls analogo al uso de Swlng (!8uuon, !lrame) comprandolo con
los componenLes del vle[o AW1 (8uuon, lrame),
Ahora podremos usar envlar mensa[es a g2:
draw(Shape)
ll(Shape)
seLColor(Color)
seL8ackground(Color)
9-":#+31& :3 ;%*-3) .&3 <*+2=-.'>9
1*+?;%*-3)@;%*-3) 'A -3% BA -3% CD
48+'$' 1$ #+E+F+?%F)$&5
9-":#+31& :3 *$.%G3):8&
uullzamos la clase 8ecLangle2u.uouble (una clase lnLerna)
Los dos prlmeros parmeLros son la esqulna superlor lzqulerda
or defecLo los punLos que lo conrma son de upo double
Ll Lercer argumenLo corresponde al ancho y el cuarLo al alLo
9-":#+31& H&*5+'
1*+? <*+2=-.'>9 I J8-2'$
1amblen podemos dlbu[ar cualquler ob[eLo que lmplemenLe
la lnLerface ./0'#$1
publlc vold draw(Shape s)
ulbu[a el conLorno de la forma usando el color acLual de la
pluma de Craphlcs2u
J'%+"8$.-$31& .&8&*$'
48+'$ 4&8&*
La clase Color es usada para denlr y admlnlsLrar el color en
cualquler forma que dlbu[emos
Los colores son denldos por sus valores 8C8 (comblnacln de
amarlllo, azul y ro[o)
Ll meLodo seLalnL de Craphlcs2u denes el color usado en las
fuLuras llamadas al meLodo draw
g2.seLalnL(aColor)
La clase Color conuene un con[unLo de colores predenldos
(publlc nal sLauc).
1amblen podemos denlr nuevos colores usando el
consLrucLor de la clase
Color(lnL r, lnL g, lnL b)
Los colores se ven llmlLados por el hardware del equlpo
J'%+"8$.-$31& .&8&*$'
48+'$ 4&8&* K 4&8&*$' 2*$1$,-3-1&'
?ou can creaLe your own or use Lhe consLanLs ln Lhe Color
class
Color.red
Color.whlLe
Color.blue
Color.yellow
Color.plnk
Color.magenLa
LsLableclendo el color para los slgulenLes dlbu[os
g2.seLalnL(Color.blue),
J'%+"8$.-$31& .&8&*$' +8 .&3%&*3& 1$ H&*5+'
48+'$ 4&8&*
L$88$3+31& H&*5+' .&3 .&8&*$'
/0%&1& ,-88
draw(shape) ulbu[a el conLorno de una forma
ll(shape) ulbu[a el conLorno de una forma y la rellena con el color
que se encuenLre esLablecldo
J'%+"8$.-$31& %-2&' 1$ 8$%*+'
M&3%'
un Cb[eLo lonL se conLruye con 3 parameLros
Ll nombre del fonL: "SansSerlf, Arlal", eLc
Ll esulo: lonL.LAln lonL.8CLu
Ll Lamano de la leLra (10 es pequeno, 30 es grande)
Luego se llama al meLodo seLlonL para que el ob[eLo
Craphlcs2u lo asuma en el meLodo palnLComponenL
J'%+"8$.-$31& %-2&' 1$ 8$%*+'
M&3%'
9-":#+31& 8N3$+'
O-3$>9F9&:"8$@1&:"8$ BPA 1&:"8$ CPA 1&:"8$ B>A 1&:"8$ C>D
9-":#+31& 2&8N)&3&'
7&8C)&3
ara dlbu[ar una forma que Lenga forma de Lrlangulo se
neceslLa los punLos de un pollgono
un ob[eLo olygon neceslLa 2 arreglos de enLeros y el numero de
punLos
lnL[] xpolnLs = new lnL[][10,80,23},
lnL[] ypolnLs = new lnL[][10,30,60},
olygon Lrlangle = new olygon(xpolnLs, ypolnLs, 3),
9-":#+31& 2&8N)&3&'
7&8C)&3
conLalns(olnL) : olygon
- uede ser convenlenLe saber sl el mouse ha dado cllc en alguna
poslcln denLro del Lrlangulo
- Con el meLodo conLalns podemos deLermlnar sl la coordenada del
mouse esL denLro del pollgono o no.
Lrlangle.conLalns(30, 34) // Lrue
Lrlangle.conLalns(40, 3) // false