PDF de programación - Swing - Java y Servicios Web I - Master en Ingeniería Matemática

Imágen de pdf Swing - Java y Servicios Web I - Master en Ingeniería Matemática

Swing - Java y Servicios Web I - Master en Ingeniería Matemáticagráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.276 visualizaciones desde el 14 de Enero del 2017
1,2 MB
69 paginas
Creado hace 11a (28/05/2012)
Interfaces gráficas con

Swing

Java y Servicios Web I

Master en Ingeniería Matemática

Manuel Montenegro

Dpto. Sistemas Informáticos y Computación

Desp. 467 (Mat)

[email protected]

Introducción

● Swing es una biblioteca de interfaces gráficas de

usuario (GUI) para Java.

● Viene incluida con el entorno de desarrollo de Java

(JDK).

● Extiende a otra librería gráfica más antigua

llamada AWT.

● Paquetes:

● javax.swing
● java.awt
● java.awt.event

● Alternativas: SWT (http://www.eclipse.org/swt/)

28/Mayo/2012

8. Interfaces gráficas con Swing

2

Contenidos

● Ventanas
● Componentes
● Layout Managers
● Manejo de eventos
● Cuadros de diálogo predefinidos
● Dibujo de gráficos
● Arquitectura MVC

28/Mayo/2012

8. Interfaces gráficas con Swing

3

Creación de ventanas

● La clase JFrame proporciona operaciones para

manipular ventanas.

● Constructores:

● JFrame()
● JFrame(String titulo)

● Una vez creado el objeto de ventana, hay que:

● Establecer su tamaño.
● Establecer la acción de cierre.
● Hacerla visible.

28/Mayo/2012

8. Interfaces gráficas con Swing

4

Creación de ventanas

import javax.swing.*;

public class VentanaTest {
public static void main(String[] args) {
JFrame f = new JFrame("Titulo de ventana");
f.setSize(400, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}

● Acciones de cierre:

● JFrame.EXIT_ON_CLOSE: Abandona aplicación.
● JFrame.DISPOSE_ON_CLOSE: Libera los recursos asociados a la ventana.
● JFrame.DO_NOTHING_ON_CLOSE: No hace nada.
● JFrame.HIDE_ON_CLOSE: Cierra la ventana, sin liberar sus recursos.

28/Mayo/2012

8. Interfaces gráficas con Swing

5

Creación de ventanas

28/Mayo/2012

8. Interfaces gráficas con Swing

6

Creación de ventanas

● Es usual extender la clase JFrame, y realizar las
operaciones de inicialización en su constructor.
public class MiVentana extends JFrame {
public MiVentana() {
super("Titulo de ventana");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

public class VentanaTest {
public static void main(String[] args) {
MiVentana v = new MiVentana();
v.setVisible(true);
}
}

28/Mayo/2012

8. Interfaces gráficas con Swing

7

Contenidos

● Ventanas
● Componentes
● Layout Managers
● Manejo de eventos
● Cuadros de diálogo predefinidos
● Dibujo de gráficos
● Arquitectura MVC

28/Mayo/2012

8. Interfaces gráficas con Swing

8

Componentes de una ventana

JButton

JLabel

JTextField

JCheckBox

JRadioButton

● Tras crear uno de estos componentes con new, ha de

añadirse al contentPane de la ventana
correspondiente mediante su método add.

28/Mayo/2012

8. Interfaces gráficas con Swing

9

Añadir componentes

public class MiVentana extends JFrame {
public MiVentana() {
super("Titulo de ventana");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
JLabel etiqueta = new JLabel("Nombre: ");
JTextField texto = new JTextField(20);
JButton boton = new JButton("Saludar");
cp.add(etiqueta);
cp.add(texto);
cp.add(boton);
}
}

28/Mayo/2012

8. Interfaces gráficas con Swing

10

Añadir componentes

28/Mayo/2012

8. Interfaces gráficas con Swing

11

Contenidos

● Ventanas
● Componentes
● Layout Managers
● Manejo de eventos
● Cuadros de diálogo predefinidos
● Dibujo de gráficos
● Arquitectura MVC

28/Mayo/2012

8. Interfaces gráficas con Swing

12

Layout Managers

● En Java no es habitual indicar explícitamente la posición
de los componentes de la interfaz dentro de la ventana.

● Los layout managers se encargan de colocar los

componentes de la interfaz de usuario en la ventana
contenedora.

● Especifican la posición y el tamaño de dichos

componentes.
● FlowLayout
● GridLayout
● BorderLayout
● GridBagLayout
● …

28/Mayo/2012

8. Interfaces gráficas con Swing

13

FlowLayout

● Coloca los elementos uno a continuación de otro,

de manera similar a la colocación de palabras en
un procesador de textos.

● Métodos:

● setAligment(int alineacion)
● setHgap(int separacion)
● setVgap(int separacion)

28/Mayo/2012

8. Interfaces gráficas con Swing

14

GridLayout

● Coloca los componentes de la interfaz en

forma de rejilla.

● El orden en que se añadan los componentes

determina su posición en la rejilla.

● Constructor:

● GridLayout(int filas, int columnas)

● Métodos:

● setHgap(int separacion)
● setVgap(int separacion)

28/Mayo/2012

8. Interfaces gráficas con Swing

15

GridLayout

public class MiVentana2 extends JFrame {
public MiVentana2() {
super("Titulo de ventana");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = getContentPane();
GridLayout gl = new GridLayout(4,3);
gl.setHgap(5); gl.setVgap(5);
cp.setLayout(gl);
for(int i = 1; i <= 9; i++) {
cp.add(new JButton(String.valueOf(i)));
}
cp.add(new JButton("*"));
cp.add(new JButton("0"));
cp.add(new JButton("#"));
}
}

28/Mayo/2012

8. Interfaces gráficas con Swing

16

GridLayout

28/Mayo/2012

8. Interfaces gráficas con Swing

17

BorderLayout

● Coloca y cambia de tamaño sus componentes

para que se ajusten a los bordes y parte
central de la ventana.

● Métodos:

● setHgap(int separacion)
● setVgap(int separacion)

● Al añadir un elemento a la

ventana, hay que especificar
su colocación:
JButton b = new JButton(...);
getContentPane().add(b, BorderLayout.EAST)

28/Mayo/2012

8. Interfaces gráficas con Swing

18

Interfaces complejas: JPanel

● Un panel es un componente con un layout

manager propio, y que puede contener varios
componentes en su interior.

● Constructor:

● JPanel()
● Métodos:

● void setLayout(LayoutManager lm)
● void add(JComponent componente)
● …

28/Mayo/2012

8. Interfaces gráficas con Swing

19

Interfaces complejas: JPanel

28/Mayo/2012

8. Interfaces gráficas con Swing

20

Interfaces complejas: JPanel

GridLayout

FlowLayout

FlowLayout

28/Mayo/2012

8. Interfaces gráficas con Swing

21

Interfaces complejas: JPanel

public MiVentana3() {
super("Añadir usuario");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Panel de fecha
JPanel panelFecha = new JPanel();
panelFecha.setLayout(new FlowLayout());
panelFecha.add(new JTextField(2));
panelFecha.add(new JLabel("/"));
panelFecha.add(new JTextField(2));
panelFecha.add(new JLabel("/"));
panelFecha.add(new JTextField(2));
// Panel de datos
JPanel panelDatos = new JPanel();
GridLayout gl = new GridLayout(3,2,0,5);
panelDatos.setLayout(gl);
panelDatos.add(new JLabel("Nombre:"));
panelDatos.add(new JTextField(10));
panelDatos.add(new JLabel("DNI:"));
panelDatos.add(new JTextField(10));
panelDatos.add(new JLabel("Fecha de nacimiento: "));
panelDatos.add(panelFecha);


28/Mayo/2012

8. Interfaces gráficas con Swing

22

Interfaces complejas: JPanel


// Panel de botones
JPanel panelBotones = new JPanel();
panelBotones.setLayout(new FlowLayout());
panelBotones.add(new JButton("Aceptar"));
panelBotones.add(new JButton("Cancelar"));

Container cp = getContentPane();
cp.add(panelDatos, BorderLayout.CENTER);
cp.add(panelBotones, BorderLayout.SOUTH);
}

28/Mayo/2012

8. Interfaces gráficas con Swing

23

Interfaces complejas: GridBagLayout

● Más flexible que GridLayout
● Cada componente ha de tener asociado un
objeto de la clase GridBagConstraints. La
asociación se producirá en el método add.

JButton b = new JButton(“Aceptar”);
GridBagConstraints gbc = new GridBagConstraints(...);
getContentPane().add(b, gbc);

28/Mayo/2012

8. Interfaces gráficas con Swing

24

GridBagConstraints

● Atributos públicos:
● int gridx, gridy
● int gridwidth, gridheight
● double weightx, weighty
● int fill
● int anchor
● Insets insets
● int ipadx, ipady

● Pueden ser inicializados en el constructor.

28/Mayo/2012

8. Interfaces gráficas con Swing

25

GridBagConstraints

● Atributos públicos:
● int gridx, gridy

28/Mayo/2012

8. Interfaces gráficas con Swing

26

GridBagConstraints

● Atributos públicos:

● int gridwidth, gridheight

gridheight = 2

gridwidth = 2

28/Mayo/2012

8. Interfaces gráficas con Swing

27

GridBagConstraints

● Atributos públicos:

● double weightx, weighty

weightx = 1.0

weightx = 0.0

28/Mayo/2012

8. Interfaces gráficas con Swing

28

GridBagConstraints

● Atributos públicos:

● int fill
● Puede ser:

● GridBagLayout.HORIZONTAL
● GridBagLayout.VERTICAL
● GridBagLayout.BOTH

28/Mayo/2012

8. Interfaces gráficas con Swing

29

GridBagConstraints

● Atributos públicos:

● int anchor

28/Mayo/2012

8. Interfaces gráficas con Swing

30

GridBagConstraints

● Atributos públicos:

● Insets insets

insets = new Insets(10, 20, 10, 20)

28/Mayo/2012

8. Interfaces gráficas con Swing

31

GridBagConstraints

● Atributos públicos:
● int padx, int pady

● Especifican cuánto espacio añadir a la

anchura/altura mínima de los componentes.

28/Mayo/2012

8. Interfaces gráficas con Swing

32

Constructores de interfaces

● Permiten construir interfaces de usuario

interactivamente.

● Ejemplo: Netbeans (netbeans.org)

28/Mayo/2012

8. Interfaces gráficas con Swing

33

Contenidos

● Ventanas
● Componentes
● Layout Managers
● Manejo de eventos
● Cuadros de diálogo predefinidos
● Dibujo de gráficos
● Arquitectura MVC

28/Mayo/2012

8. Interfaces gráficas con Swing

34

Manejo de eventos

● Un evento es un suceso que ocurre como

consecuencia de la interacción del usuario con
la interfaz gráfica.
● Pulsación de un botón.
● Cambio del contenido en un cuadro de t
  • Links de descarga
http://lwp-l.com/pdf818

Comentarios de: Swing - Java y Servicios Web I - Master en Ingeniería Matemática (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad