PDF de programación - Tema 6. Interfaces gráficas de usuario (Parte II – Componentes y eventos) - Programación en Java

Imágen de pdf Tema 6. Interfaces gráficas de usuario (Parte II – Componentes y eventos) - Programación en Java

Tema 6. Interfaces gráficas de usuario (Parte II – Componentes y eventos) - Programación en Javagráfica de visualizaciones

Publicado el 5 de Septiembre del 2020
609 visualizaciones desde el 5 de Septiembre del 2020
181,7 KB
20 paginas
Creado hace 21a (04/05/2003)
Programación en Java

Tema 6. Interfaces gráficas de usuario
(Parte II – Componentes y eventos)

Luis Rodríguez Baena

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática

1

Etiquetas. JLabel

Componentes de texto fijo.

Su contenido sólo se puede cambiar mediante código.

Constructores
JLabel()
Label(String mensaje)

Label(String mensaje, int alin)

Crea una etiqueta sin texto
Crea una etiqueta con un mensaje determinado alineada a
la izquierda
Crea una etiqueta con un mensaje alineada según el
segundo parámetro. alin puede tomar los valores
SwingConstants.RIGHT, SwingConstants.LEFT y
SwingConstants.CENTER

Algunos métodos
getText()
setText(String mensaje)

Devuelve el texto de la etiqueta
Establece el texto de la etiqueta

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

2

2

Campos de texto. JTextField

Componentes de texto modificables por el usuario.

Desciende de la clase JTextComponent.

Constructores
JTextField()
JTextField(int cols)
JTextField(String texto, int cols)
Algunos métodos
getText()
setText(String mensaje)
setEditable(boolean ed)
setHorizontalAlignment(int al)

Crea un campo de texto vacío y de un ancho de 0 columnas
Crea un campo de texto vacío y con un ancho de cols columnas.
Crea una etiqueta con un texto inicial y un ancho de col columnas

Devuelve el texto del campo
Establece el texto del campo
Establece si el texto puede o no ser editado por el usuario.
Establece la alineación del texto. Puede tomar los valores valores
SwingConstants.RIGHT, SwingConstants.LEFT,
SwingConstants.CENTER, SwingConstants.LEADING (el texto se rellena
de izquierda a derecha) o SwingConstants.TRAILING (el texto se
rellena de derecha a izquierda)

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

3

3

Casillas de verificación. JCheckBox

Casillas que pueden estar o no seleccionadas.

Puede haber más de una seleccionada por grupo.

Constructores
JCheckBox()
JTextBox(String etiqueta)

JCkeckBox(String etiqueta, boolean selecionado)

Algunos métodos
isSelected()
setSelected(boolean estado)

Crea un casilla sin texto
Crea una casilla de verificación con una
etiqueta inicial
Crea una casilla de verificación con una
etiqueta. Si seleccionado es true
aparece seleccionada.

Devuelve true si está seleccionada.
Establece el estado de la casilla.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

4

4

Botones de radio. JRadioButton (I)

Sólo puede haber uno seleccionado por grupo.

Para utilizarlo es necesario crear un grupo de botones (clase

ButtonGroup) y añadir el botón de radio mediante el método add.


ButtonGroup grupo = new ButtonGroup();
JRadioButton opc1 = new JRadioButton("Opción 1");
JRadioButton opc2 = new JRadioButton("Opción 2",true);
grupo.add(opc1);
grupo.add(opc2);
setContentPane().add(opc1);
setContentPane().add(opc2);


Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

5

5

Botones de radio. JRadioButton (II)

Constructores (de JRadioButton)

JRadioButton()

Crea un botón sin texto

JRadioButton(String etiqueta)

JRadioButton(String etiqueta, boolean selecionado)

Crea un botón de radio con una
etiqueta inicial
Crea un botón de radio con una
etiqueta. Si seleccionado es true
aparece seleccionada.

Algunos métodos

isSelected()

Devuelve true si está seleccionado.

setSelected(boolean estado)

Establece el estado del botón

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

6

6

Botones. JButton

Constructores
JButton()
JButton(String etiqueta)

Crea un botón sin texto
Crea un botón con una etiqueta inicial

Iconos.

Los botones, botones de radio, casillas de verificación y etiquetas admiten en sus

constructores un argumento para incluir un icono.

El icono puede ser cualquier archivo GIF.
Es necesario crear un instancia de la clase ImageIcon y hacer referencia a ella en el

constructor (new ImageIcon(String ruta)).

ImageIcon zipIcon = new ImageIcon("zipIcon.gif");
ImageIcon folderIcon = new ImageIcon("folder.gif");
ImageIcon pdfIcon = new ImageIcon("pdfIcon.gif");
JButton btn = new JButton(pdfIcon);
JCheckBox chkIcon = new JCheckBox("Zip",zipIcon); //Icono sin seleccionar
chkIcon.setSelectedIcon(folderIcon); //Icono seleccionado
JLabel lbl = new JLabel("Texto",zipIcon,SwingConstants.LEFT);

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

7

7

Cuadros combinados. JComboBox

Requiere la creación de un objeto y rellenar sus elementos.
Su constructor más simple es un constructor sin argumentos.

Algunos métodos
setEditable(boolean opc)

insertItemAt(Object obj, int índice)

removeItem(Object obj)
removeItemAt(int indice)
removeAllItems()
getSelectedItem()
getSelectedIndex()

Si opc se establece a true, el usuario puede introducir
los valores.
Introduce un objeto en la posición indicada que no
debe ser mayor que el número de elementos menos 1
Elimina el objeto indicado
Elimina el elemento indicado
Elimina todos los elementos
Devuelve el elemento seleccionado.
Devuelve el índice del elemento seleccionado
(-1 si el combo es editable y el usuario ha introducido
un valor)

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

8

8

Gestión de eventos (I)

Evento: suceso que ocurre en un sistema.

Los entornos GUI siempre están monitorizando los sucesos.
Cuando se produce uno el entorno informa a los programas que se

están ejecutando.

Los programas deciden si desean hacer algo en respuesta al mensaje.

En un entorno como Visual Basic cada componente ya tiene

asociados una serie de eventos.

En Java, es necesario registrar que eventos queremos que

“escuche” cada componente.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

9

9

Gestión de eventos (II)

Un evento en Visual Basic.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

10

10

Modelo de eventos AWT

AWT controla la forma en que los eventos se dirigen desde

los “orígenes de eventos” hasta los “oyentes de eventos”.

Los orígenes tienen métodos que permiten asociarles

“oyentes” para monitorizar los eventos.
Los oyentes incluyen las acciones asociadas a los eventos que se

registraron.

Para la gestión de eventos será necesario:

Implementar un objeto “oyente”
Será alguna interfaz Listener.

(objetoOrigen.addEventoListener(objetoOyenteEvento).

Registrar ese objeto en el componente
Implementar los métodos de la interfaz Listener.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

11

11

Un ejemplo (I)

}

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class EjemploEventos{

1.
2.
3.
4.
5.
6.
7.
8.
9.
10. }
11. class FrameBotones extends JFrame{
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.

public static void main(String args[]){

FrameBotones frm = new FrameBotones();
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.show();

JButton btnAzul = new JButton("Azul");
JButton btnAmarillo = new JButton("Amarillo");
JButton btnRojo = new JButton("Rojo");
FrameBotones(){

setTitle("Ejemplo de eventos");
getContentPane().setLayout(new FlowLayout());
getContentPane().add(btnAzul);
getContentPane().add(btnAmarillo);
getContentPane().add(btnRojo);
pack();

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

12

12

Un ejemplo (II)

23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39. }

}

}

btnAzul.addActionListener(new MiOyente());
btnAmarillo.addActionListener(new MiOyente());
btnRojo.addActionListener(new MiOyente());

}
class MiOyente implements ActionListener{

public void actionPerformed(ActionEvent event){

if(event.getSource() == btnAzul)
else if(event.getSource() == btnAmarillo)
else if(event.getSource() == btnRojo)

getContentPane().setBackground(Color.BLUE);
getContentPane().setBackground(Color.YELLOW);
getContentPane().setBackground(Color.RED);

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

13

13

Interfaz Listerner y clases anónimas

Generar la clase “oyente” en el propio método add del componente.
class HolaMundoFrame extends JFrame{
JPanel panelBoton = new JPanel();
JPanel panelEtiqueta = new JPanel();
JButton btn = new JButton("Pulsa");
JLabel lbl = new JLabel("¡Hola, mundo!");
HolaMundoFrame(){

setTitle("Hola Mundo!");
panelBoton.add(btn);
panelEtiqueta.add(lbl);
setContentPane(panelBoton);
pack();
btn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent event){

setContentPane(panelEtiqueta);
pack();

}

});

}

}

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003

14

14

Tipos de eventos y oyentes (I)

Eventos generados y componentes que los soportan
Eventos generados
ActionEvent

Significado
Hacer clic en el botón

AdjustementEvent
ItemEvent

Cambiar el valor de la barra de desplazamiento
Seleccionar o deseleccionar un item

TextEvent
ComponentEvent
ContainerEvent
FocusEvent
KeyEvent
MouseEvent

MouseWheelEvent
WindowEvent

Cambiar el texto
Mover, cambiar tamaño, mostrar u ocultar un componente
Añadir o eliminar un componente de un container
Obtener o perder el focus
Pulsar o soltar una tecla
Pulsar o soltar un botón del ratón; entrar o salir de un
componente; mover o arrastrar el rató
  • Links de descarga
http://lwp-l.com/pdf18176

Comentarios de: Tema 6. Interfaces gráficas de usuario (Parte II – Componentes y eventos) - Programación en Java (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