Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Swing PDF
Swing PDF
Swing
Java y Servicios Web I
Master en Ingeniera Matemtica
Manuel Montenegro
Dpto. Sistemas Informticos y Computacin
Desp. 467 (Mat) montenegro@fdi.ucm.es
8. Interfaces grficas con Swing 28/Mayo/2012 2
Introdcci!n
-a.uetes/
javax.swing
java.awt
java.awt.event
%entanas
Componentes
3ayout Managers
Mane4o e e$entos
Dibu4o e grficos
*r.uitectura M%C
8. Interfaces grficas con Swing 28/Mayo/2012 $
#reaci!n de ventanas
Constructores/
JFrame()
JFrame(String titulo)
'stablecer su tama7o.
8acerla $isible.
8. Interfaces grficas con Swing 28/Mayo/2012 %
#reaci!n de ventanas
import javax.swing.*;
public class entana!est "
public static void main(String#$ args) "
JFrame f % new JFrame(&!itulo de ventana&);
f.setSi'e(())* +)));
f.set,efault-lose.peration(JFrame./01!2.32-4.S/);
f.setisible(true);
5
5
*cciones e cierre/
%entanas
Componentes
3ayout Managers
Mane4o e e$entos
Dibu4o e grficos
*r.uitectura M%C
8. Interfaces grficas con Swing 28/Mayo/2012 (
#om)onentes de na ventana
JButton
JLabel
JTextField
JCheckBox
JRadioButton
%entanas
Componentes
3ayout Managers
Mane4o e e$entos
Dibu4o e grficos
*r.uitectura M%C
8. Interfaces grficas con Swing 28/Mayo/2012 1"
Layout Managers
Flow4a:out
8rid4a:out
>order4a:out
8rid>ag4a:out
?
8. Interfaces grficas con Swing 28/Mayo/2012 1$
FlowLayout
M:toos/
set@ligment(int alineacion)
set7gap(int separacion)
setgap(int separacion)
8. Interfaces grficas con Swing 28/Mayo/2012 1%
GridLayout
Constructor/
M:toos/
set7gap(int separacion)
setgap(int separacion)
8. Interfaces grficas con Swing 28/Mayo/2012 1&
GridLayout
public class 9ientana= extends JFrame "
public 9ientana=() "
super(&!itulo de ventana&);
setSi'e(())* +)));
set,efault-lose.peration(JFrame./01!2.32-4.S/);
-ontainer cp % get-ontent6ane();
8rid4a:out gl % new 8rid4a:out((*+);
gl.set7gap(A); gl.setgap(A);
cp.set4a:out(gl);
for(int i % B; i C% D; iEE) "
cp.add(new J>utton(String.value.f(i)));
5
cp.add(new J>utton(&*&));
cp.add(new J>utton(&)&));
cp.add(new J>utton(&F&));
5
5
8. Interfaces grficas con Swing 28/Mayo/2012 1'
GridLayout
8. Interfaces grficas con Swing 28/Mayo/2012 18
BorderLayout
M:toos/
set7gap(int separacion)
setgap(int separacion)
*l a7air un elemento a la
$entana6 0ay .ue especificar
su colocacin/
J>utton b % new J>utton(...);
get-ontent6ane().add(b* >order4a:out./@S!)
8. Interfaces grficas con Swing 28/Mayo/2012 1(
Interfaces com),e-as. JPanel
Constructor/
J6anel()
M:toos/
?
8. Interfaces grficas con Swing 28/Mayo/2012 20
Interfaces com),e-as. JPanel
8. Interfaces grficas con Swing 28/Mayo/2012 21
Interfaces com),e-as. JPanel
!ri3ayout
;lo23ayout
;lo23ayout
8. Interfaces grficas con Swing 28/Mayo/2012 22
Interfaces com),e-as. JPanel
public 9ientana+() "
super(&@Gadir usuario&);
set,efault-lose.peration(JFrame./01!2.32-4.S/);
HH 6anel de fecIa
J6anel panelFecIa % new J6anel();
panelFecIa.set4a:out(new Flow4a:out());
panelFecIa.add(new J!extField(=));
panelFecIa.add(new J4abel(&H&));
panelFecIa.add(new J!extField(=));
panelFecIa.add(new J4abel(&H&));
panelFecIa.add(new J!extField(=));
HH 6anel de datos
J6anel panel,atos % new J6anel();
8rid4a:out gl % new 8rid4a:out(+*=*)*A);
panel,atos.set4a:out(gl);
panel,atos.add(new J4abel(&3ombre<&));
panel,atos.add(new J!extField(B)));
panel,atos.add(new J4abel(&,31<&));
panel,atos.add(new J!extField(B)));
panel,atos.add(new J4abel(&FecIa de nacimiento< &));
panel,atos.add(panelFecIa);
?
8. Interfaces grficas con Swing 28/Mayo/2012 2"
Interfaces com),e-as. JPanel
?
HH 6anel de botones
J6anel panel>otones % new J6anel();
panel>otones.set4a:out(new Flow4a:out());
panel>otones.add(new J>utton(&@ceptar&));
panel>otones.add(new J>utton(&-ancelar&));
-ontainer cp % get-ontent6ane();
cp.add(panel,atos* >order4a:out.-/3!/J);
cp.add(panel>otones* >order4a:out.S.K!7);
5
8. Interfaces grficas con Swing 28/Mayo/2012 2$
Interfaces com),e-as. GridBagLayout
*tributos p<blicos/
int fill
int ancIor
1nsets insets
*tributos p<blicos/
*tributos p<blicos/
*tributos p<blicos/
*tributos p<blicos/
int fill
-uee ser/
8rid>ag4a:out.7.J1N.3!@4
8rid>ag4a:out./J!1-@4
8rid>ag4a:out.>.!7
8. Interfaces grficas con Swing 28/Mayo/2012 "0
GridBagConstraints
*tributos p<blicos/
int ancIor
8. Interfaces grficas con Swing 28/Mayo/2012 "1
GridBagConstraints
*tributos p<blicos/
1nsets insets
insets = new #nsets$"% 2"% "% 2"&
8. Interfaces grficas con Swing 28/Mayo/2012 "2
GridBagConstraints
*tributos p<blicos/
%entanas
Componentes
3ayout Managers
Mane4o e e$entos
Dibu4o e grficos
*r.uitectura M%C
8. Interfaces grficas con Swing 28/Mayo/2012 "%
Mane-o de eventos
-ulsacin e un botn.
*cti$acin e un J-IecO>ox.
Mo$imiento e la $entana.
8. Interfaces grficas con Swing 28/Mayo/2012 "&
/,saci!n de n bot!n
void add@ction4istener(@ction4istener l)
M:toos e *ction'$ent/
void caretKpdate(-aret/vent e)
void cIangedKpdate(,ocument/vent e)
void insertKpdate(,ocument/vent e)
void removeKpdate(,ocument/vent e)
J!extField text % ...;
text.add-aret4istener(...);
text.get,ocument().add,ocument4istener(...);
8. Interfaces grficas con Swing 28/Mayo/2012 $8
0ventos en na ventana
Tindow4istener
void window@ctivated(Tindow/vent e)
void window-losed(Tindow/vent e)
void window-losing(Tindow/vent e)
void window,eactivated(Tindow/vent e)
void window,eiconified(Tindow/vent e)
void window1conified(Tindow/vent e)
void window.pened(Tindow/vent e)
8. Interfaces grficas con Swing 28/Mayo/2012 $(
0ventos de rat!n y de tec,ado
%entanas
Componentes
3ayout Managers
Mane4o e e$entos
Dibu4o e grficos
*r.uitectura M%C
8. Interfaces grficas con Swing 28/Mayo/2012 %1
#adros de di,ogo )redefinidos
%entanas
Componentes
3ayout Managers
Mane4o e e$entos
Dibu4o e grficos
*r.uitectura M%C
8. Interfaces grficas con Swing 28/Mayo/2012 %%
3ib-ar grficos
void paint-omponent(8rapIics g)
8. Interfaces grficas con Swing 28/Mayo/2012 %&
3ib-ar grficos
M:toos e 8rapIics/
void set-olor(-olor c)
void setFont(Font f)
8. Interfaces grficas con Swing 28/Mayo/2012 %'
0-em),o
public class 6anelSol extends J6anel "
public void paint-omponent(8rapIics g) "
g.set-olor(-olor..J@38/);
g.fill.val(B))*B))*=))*=)));
for (double d % ); d C =*9atI.61; d E% ).B) "
int x/nd % (int) (=))EBA)*9atI.cos(d));
int :/nd % (int) (=))EBA)*9atI.sin(d));
g.draw4ine(=))* =))* x/nd* :/nd);
5
g.set-olor(-olor.>4@-U);
g.draw@rc(BA)* BA)* B))* B))* =+)* V));
g.fill.val(BA)* BA)* =)* =));
g.fill.val(=+)* BA)* =)* =));
5
5
8. Interfaces grficas con Swing 28/Mayo/2012 %8
0-em),o
public class entanaSol extends JFrame "
public entanaSol() "
?
-ontainer cp % get-ontent6ane();
cp.add(new 6anelSol());
5
5
8. Interfaces grficas con Swing 28/Mayo/2012 %(
*4n 5ay ms
0ttp/11o2nloa.4a$a.net14a$aes@top1s2ingsetA1S2ingSetA.4nlp
8. Interfaces grficas con Swing 28/Mayo/2012 &0
*4n 5ay ms
0ttp/11222.particle.@t0.se1Bfmi1@urs1-0ysicsSimulation13ectures1C7*1s2ingDesign.0tml
8. Interfaces grficas con Swing 28/Mayo/2012 &1
#ontenidos
%entanas
Componentes
3ayout Managers
Mane4o e e$entos
Dibu4o e grficos
*r.uitectura M%C
8. Interfaces grficas con Swing 28/Mayo/2012 &2
*r6itectra M7#
'4emplo/ 3istas
Mode,o 7ista Mode,o
#ontro,ador
*'(eta+yste,s)% Color!R-./%
*'(eta0orks)% Color!BL1-/%
2
interfa' 4ist9odel
class J4ist
8. Interfaces grficas con Swing 28/Mayo/2012 &%
*r6itectra M7#
-. Deitel6 8. Deitel
Java. How to Program (Ht0 'ition)
Caps. F46 FI y GI
J. 'c@el
Thinking in Java (Ar 'ition)
Cap. F4
#. Ku@o2s@i
The definitive guide to Java Swing