Beruflich Dokumente
Kultur Dokumente
Sumario:
Breve introduccin al paquete Swing Tipos de clases del paquete Definicin y manejo de contenedores, dilogos y layouts Diseo mediante D! "!clipse# y ej$mplos% &esumen y 'i'liografia
La librera Swing
(ertenece a las )*+ ")ava *oundation +lasses#% Bi'lioteca grfica de )ava desde la versin ,%-% +ontenido en el paquete .java/%swing0% +reada a partir de .java%awt0% (ermite una interfa1 adaptada a cada S2 sin cam'io de cdigo% *cil manejo%
(ara una interfa1 adaptada a cada S%2 de'emos incluir el siguiente cdigo en el m$todo main:
try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()) ; } catch( !ce"t#on e) { e."r#ntStack$race(); }
javax.swing.JComponent
)*rame ser la 'ase para la aplicacin principal% )Dialog construir los dialgos "ventanas#% !l resto de clases sern componentes simples% 4sar en todas las clases import javax.swing.*; y import java.awt.*; Todas las componentes permiten fijar un mnemot$cnico: componente.setMnemonic(KeyEvent.VK_letra); Todas las componentes permiten fijar .tooltips0%
Clase J"utton ( !
*ijar el te/to siempre centrado, en caso de contener una imgen, 3a de ir a la i1quierda o encima del te/to% ncluir .%%%0 si precisa de ms informacin para llevar a ca'o la ejecucin%
Clase J"utton (
5$todos importantes:
setTe/t".Te/to0#6 setTooltipTe/t".Tooltip0#6 setBac7ground"new +olor"&, 8, B##6 set*oreground"+olor%color#6 set con"new mage con".ruta0##6 set*ont"new *ont".tipo0, estilio, tamao##6 setBounds"new &ectangle"pos9,pos:,tam9,tam:##6
Clase J"utton (
!jemplo:
%&'tton (oton) * new %&'tton(); (oton).set&o'nds(new +ectangle(),-. /,. ),0. 1))); (oton).set&ackgro'nd(new Color(2). 034. 42)); (oton).setForegro'nd(Color.red); (oton).set$ool$#"$e!t(56r'e(a5); (oton).setFont(new Font(5Com#c Sans MS5.Font.BOLD. )1)); (oton).set$e!t(5&ot7n de "r'e(a5); (oton).setMnemon#c(8ey 9ent.VK_B);
.....
Clase J#oggle"utton ( !
!s un 'otn que representa dos estados "2n y 2ff#% 5ismas caracter;sticas que el )Button% (uede emplearse como dos tipos de opciones%
ndependientes "+3ec7'o/es#%
!/clusivas "&adioButton#%
Clase J#oggle"utton (
5$todos importantes:
5ismos m$todos que )Button, pero aadiendo algunos nuevos% isSelected"#6 setSelected"'oolean#6
Clase JC$eck"o%
5ismas propiedades y m$todos que los anteriores% Se pueden emplear 5nemot$cnicos% 5$todos is electe!() y set electe!("oolean)
Clase J&adio"utton ( !
Slo puede 3a'er una opcin seleccionada a la ve1% =unque tiene la misma funcin que los 'otones de conmutacin agrupados, conviene usar los radio 'otones en dilogos, y los de conmutacin en 'arras de 3erramientas% 5$todos similares a los de )+3ec7Bo/
Clase J&adio"utton (
>os 'otones de radio "como los c3ec7'o/es#, suelen aparecer agrupados, con una leyenda identificativa%
(ara ello, en Swing se utili1a un panel, con un 'orde y un t;tulo, agrupandolos en un #$tton%ro$p%
Clase JCo'bo"o% ( !
!sta componente nos permite, al 3acer clic7 so're ella, seleccionar una opcin de entre un conjunto, todas ellas mutuamente e/clusivas%
!l te/to de los ;tems 3a de ir capitali1ado% *acilitar el acceso por teclado mediante etiquetas con mnemot$cnicos%
Clase JCo'bo"o% (
!dita'les ?o edita'les
5$todos:
Clase JCo'bo"o% (
!jemplo:
Str#ng nom(re* (Str#ng) =Com(o&o!).getSelectedItem(); =$e!tF#eld).set$e!t(5 sto es 'n 5 > nom(re); =La(el0.setIcon(new ImageIcon(5#magenes?5>nom(re>5.g#@5));
Clase JList ( !
!s un componente que muestra un conjunto de ;tems de te/to, grfico o am'os% (ermite tres tipos de seleccin:
5ediante el m$todo:
Clase JList (
!jemplo:
=$e!tF#eld).set$e!t((Str#ng)=L#st).getSelectedAal'e());
)(rogressBar
)Slider
)>a'el
5uestra te/to, grficos o am'os, slo lectura% Aa de estar desactivado si lo est el componente%
)Te/t*ield
5uestra una linea de te/to que puede ser edita'le% +on set&ext('&exto() se le asigna el te/to%
)(assword*ield
)Te/t=rea
!spacio rectangular en el que ver y editar m<ltiples l;neas de te/to% (ara que apare1can 'arras de scroll de'e ir dentro de un )Scroll(ane%
Mens (I)
>os men<s 3an de ir en la ventana principal de la aplicacin% !s posi'le asignarles un grfico% +ada t;tulo de men< de'e tener su mnemot$cnico% (ueden ser de tres tipos:
)en*s (
>os men< .DropBDown0 son los que saldrn al, por ejemplo, 3acer clic7 en =rc3ivo% >os su'menus son aquellos que salen como un grupo de un elemento de men<% >os men<s conte/tuales, "clase )(opup5enu# son aplica'les a la regin en la que est locali1ado el puntero del ratn% >os mnemot$cnicos de los men<s conte/tuales 3an de coincidir con los del men< .DropBDown0%
)en*s (
Son las clases JMen$#ar, JMen$ y JMen$,tem% Aan de seguir la siguiente jerarqu;a:
Contenedores ( !
+lase J&ool#ar
Son 'otones de comando o conmutacin% Se suelen emplear grficos% 5$todos set-lota"le("oolean) y a!! eparator()
Contenedores (
+lase J+anel :
!s un contenedor que agrupa componentes dentro de una ventana% >os layouts permiten una correcta posicionacin de los componentes% !s un contenedor que permite tener varios componentes separador por pestaas% 5$todos
+lase J&a""e!+ane:
+ilogos
Son ventanas mas limitadas que los *rames, y dependientes de estos, si se destruye el *rame, tam'i$n lo 3ace el dilogo% (ueden ser:
?o modales: ?o impiden interactuar con el *rame% 5odales: mpiden interactuar con el resto%
+ilogo J(ption,ane ( !
(ermite adaptar y crear varias clases de dilogos, especificando por ejemplos los iconos, el t;tulo y te/to de los dilogos% >os iconos estndar son: .$estion/ in0ormation/ warning y error% >os m$todos principales son:
s3ow5essageDialog s3ow+onfirmDialog
+ilogo J(ption,ane (
s3ow5essageDialog:
s3ow+onfirmDialog:
int,-es",.,!O"tion #ne.s$o%Con/i-0Di#lo&(t$is'(Mens#)e('(Tit*lo(', !O"tion #ne.1ES_NO_O TION); int,-es",., !O"tion #ne.s$o%Con/i-0Di#lo&(t$is'(Mens#)e('(Tit*lo('!O"tion #ne. 1ES_NO_CANCEL_O TION); int,-es",.,!O"tion #ne.s$o%Con/i-0Di#lo&(t$is'(Mens#)e('(Tit*lo(', !O"tion #ne.OK_CANCEL_O TION); i/,(-es",..,!O"tion #ne.1ES_O TION)2 ..... ,,3
+ilogo JFileC$ooser ( !
(ermite navegar por el sistema de fic3eros, y seleccionar uno o varios fic3eros% !jemplo:
"-i4#te,!5ileC$oose-,)5ileC$oose-6,.,ne%,!5ileC$oose-(); .,.,. i/,()5ileC$oose-6.s$o%O"enDi#lo&(t$is)..)5ileC$oose-6.A 2 )Te7t5ield6.setTe7t(8A 3 else )Te7t5ield6.setTe7t(8CANCEL_O TION8); ROVE_O TION8); )Te7t5ield9.setTe7t()5ileC$oose-6.&etSelected5ile().&etN#0e()); ROVE_O TION)
+ilogo JFileC$ooser (
5$todos importantes:
multiSelection!na'led"'oolean#6 getSelected*ile"#6
La-outs ( !
ndican la forma de organi1ar los componentes dentro de un contenedor, determinando el tamao y la posicin% (ara su uso:
La-outs (
Tipos de layouts:
*low>ayout Border>ayout 8rid>ayout Bo/>ayout 8ridBag>ayout )(anel BC *low>ayout )*rame, )Dialog BC Border>ayout
(or defecto:
La-outs (
*low>ayout:
!s el ms simple, los componentes aadidos a un contenedor se disponen en una o mas filas, de i1quierda a derec3a y de arri'a a a'ajo% 4tili1a D reas para colocar los componentes: ?orte, Sur, !ste, 2este y +entro% Si alguna no se ocupa, se e/pande la contigua%
Border>ayout:
La-outs ( .!
8rid>ayout:
!l controlador se crea con un determinado numero de filas y columnas% >os componentes se situan de forma secuencial, de i1quierda a derec3a y de arri'a a a'ajo% !l tamao de las celdas es id$ntico% (ermite organi1ar los componentes en una l;nea 3ori1ontal o vertical, sin dejar espacio entre los componentes%
Bo/>ayout:
(ara crear las aplicaciones, 'asndonos en lo e/plicado, utili1aremos el D! Eclipse/ j$nto con el pl$gin 'Vis$al E!itor(. Se puede descargar gratuitamente en $ttp022www3eclipse3org ?ecesario )ava instalado para poder ejecutarlo%
"ibliografia
.T3in7ing in )ava0 .T3e )*+ Swing tutorial : a guide to constructing 84 s.
)aterial adicional
3ttp:EEsep3o%almaqui%netEswingE
jacandelFei%upv%es