Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Swing
Java y
S er vicios
W eb I
M a n uMe last
M oe nr teenn e g r o
Dpto.
In g eSistemas
n ie ría
Informáticos
M at e m á tic y
Desp. 467 (Mat) Computación
a montenegro@fdi.ucm.es
Introducción
●
Swing es una biblioteca de interfaces gráficas
de
●
usuario (GUI) para
Viene incluida con Java.
el entorno de desarrollo d e Java
(JDK).
●
Extiende a otra librería gráfica más a n t i g u a
llamada AWT.
●
Paquetes:
●
javax.swing
●
j ava. awt
●
j ava. awt . event
●
A lt e r nat ivas: SW T (http://www.eclipse.org /swt/)
28/Mayo/2012 8. Interfaces gráficas con Swing 2
Contenidos
●
Ventanas
● Componentes
● Layout Managers
●
M a nejo d e e ve n t os
● C u a d ros d e predefinidos
● d iá lo g o
● Dibujo de gráficos
Ar qui t ec tu ra MV C
JButton
JLabel
JTextField
JCheckBox
JRadioButt
on
●
Tras crear uno de estos componentes con new, ha d e
añadirse al contentPane de la ventana
correspondiente mediante su método add.
GridLayout
F lowLayout
F lowLayout
Container cp = getContentPane();
cp.add(panelDatos, BorderLayout.CENTER);
cp.add(panelBotones,
BorderLayout.SOUTH);
}
gridwidth = 2
gridheight = 2
●
M é t o d o s d e ActionEvent:
●
public Object getSource()
●
public i n t getModifiers()
28/Mayo/2012 8. Interfaces gráficas con Swing 37
Ejemplo
public class BotonVentana extends JFrame {
public BotonVentana() {
super("Botón");
setSize(200,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
JButton boton = new JButton("¡Púlsame!");
boton.addActionListener(new
EventoBotonPulsado());
cp.add(boton);
}
}
?
}
}
●
¿Cómo accedo al o b j e to JTextField?
public MiVentana() {
…
cuadroTexto = new JTextField(20);
cp. add( cuadr oText o) ;
…
botonSaludo.addActionListener(new
EventoSaludo());
}
}
public MiVentana() {
…
cuadroTexto = new JTextField(20);
cp.add(cuadroTexto);
…
botonSaludo.addActionListener( th
is);
}
}
http://download.java.net/javadesktop/swingset3/SwingS et3.jnlp
C o n tr o l a d o r
Vi s ta Modelo
Controlador
c l a s s JTextField
Vi s ta Modelo
Controlador
Vi s ta Modelo
class JList interfaz ListModel
{“MetaSystems”, Color.RED},
{“MetaWorks”, Color.BLUE},
…
Controlador
Vi s ta Modelo
Controlador
Vi s ta Modelo
Controlador
Vi s ta Modelo
Controlador
Vi s ta Modelo