PDF de programación - Programación Basada en Eventos - Introducción a la Programación Orientada a Objetos

Imágen de pdf Programación Basada en Eventos - Introducción a la Programación Orientada a Objetos

Programación Basada en Eventos - Introducción a la Programación Orientada a Objetosgráfica de visualizaciones

Publicado el 2 de Mayo del 2019
1.039 visualizaciones desde el 2 de Mayo del 2019
610,7 KB
56 paginas
Creado hace 13a (16/03/2011)
Programación Basada en Eventos

La construcción de una GUI utiliza un modelo de
programación basado en eventos.
En este modelo el orden en el cual se ejecutan las
instrucciones de un programa va a quedar
determinado por eventos.
Un evento es una señal de que algo ha ocurrido.
En esta materia consideraremos únicamente eventos
generados por acciones del usuario al interactuar
con la GUI.

Introducción a la Programación Orientada a Objetos

Programación Basada en Eventos

Algunas componentes de una GUI van a ser
reactivas, es decir tienen la capacidad de reaccionar
ante las acciones del usuario.
Una componente reactiva están asociada a un objeto
fuente del evento creado por el programador.
La reacción del sistema en respuesta a la acción del
usuario va a quedar determinada por la clase a la que
pertenece un objeto oyente.
El objeto oyente está ligado al objeto fuente de
evento a través de una instrucción de registración.

Introducción a la Programación Orientada a Objetos

Programación Basada en Eventos

Un objeto fuente de evento tienen la capacidad
de percibir un evento externo y disparar un
evento interno, esto es, crear un objeto evento de
software.
Este objeto evento de software es el argumento de
un mensaje enviado al objeto oyente.
El método que se ejecuta en respuesta a este
mensaje forma parte de una interface provista por
Java y es implementado por el programador en la
clase del oyente.

Introducción a la Programación Orientada a Objetos

Programación Basada en Eventos

dispara un

evento
interno

OBJETO
FUENTE

detecta el
evento
externo

OBJETO
EVENTO

registrado

El objeto oyente
recibe un mensaje
con el objeto evento

como parámetro

OBJETO
OYENTE

Introducción a la Programación Orientada a Objetos

Interfaces Gráficas

que

implementen interfaces

La construcción de una GUI va a requerir
• Definir clases que deriven de las clases gráficas
provistas por Java.
• Definir
clases
gráficas provistas por Java.
• Crear objetos de las clases provistas o de las
clases que derivadas o implementadas
• Elegir un organizador de layout y especificar la
apariencia de las componentes.
• Insertar las componentes en los contenedores

Introducción a la Programación Orientada a Objetos

Interfaces Gráficas

La estructura de las GUI que hemos estamos
definiendo consta entonces de:
• Instrucciones para importar paquetes gráficos.
• La definición de una clase que crea un frame de
una clase que extiende a JFrame y lo hace visible.
•La definición de la clase que extiende a JFrame e
incluye:
 Atributos asociados a componentes de la GUI y
otros vinculados a la aplicación
 Un constructor
Clases internas que implementan interfaces y
permiten crear oyentes

Introducción a la Programación Orientada a Objetos

Interfaces Gráficas

Un constructor incluye instrucciones para:
 crear objetos ligados a componentes gráficas
componente
 crear objetos oyente para las
gráficas que sean objetos fuente de eventos y
registrarlos
establecer el diagramado y los atributos de las
componentes
insertar las componentes en los contenedores
Algunas de estas instrucciones pueden ser provistas
por un método interno a la clase para favorecer la
modularización de la clase.

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

Se desea modelar una cuenta bancaria sobre la
que se realizan depósitos, extracciones y
consultas de saldo.
La cuenta bancaria tiene asociado un código y un
saldo. El código la identifica unívocamente y es
fijo. El saldo aumenta cuando el titular de la
cuenta efectúa un depósito y disminuye cuando
realiza una extracción.
El usuario está autorizado a girar en descubierto
hasta un monto máximo establecido.

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

El usuario opera con su cuenta bancaria a través
de una interfaz gráfica como la que sigue

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

Si el usuario presiona el botón Depositar en pantalla
aparece un cuadro de diálogo como el que sigue:

Si el usuario presiona el botón OK aparece en pantalla
un...

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

Análogamente si el usuario presiona el botón Extraer en
pantalla aparece un cuadro de diálogo como el que
sigue:

Si el usuario presiona el botón OK aparece en pantalla
un...

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

Si el usuario presiona el botón Consultar Saldos en
pantalla aparece un

O bien

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

class Cajero
public static void main(String[] args) {

GUI_CtaBancaria unaCuenta = new GUI_CtaBancaria();
unaCuenta.setVisible(true);
}

}

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

import …
public class GUI_CtaBancaria extends JFrame {

private CuentaBancaria cuenta;
private Container contenedor;
private JPanel panelAcciones, panelSaldo;
private JButton botonConsultar,

botonExt, botonDep;

public GUI_CtaBancaria() {

}



}

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

•Crear la Cuenta Bancaria
•Capturar el panel de contenido
•Crear el panel de acciones y de consulta
•Crear cada uno de los tres botones
•Establecer la apariencia de los botones
•Crear los tres oyentes
•Registrar cada oyente a su botón
•Establecer la apariencia de los paneles
•Insertar los botones a los paneles
correspondientes
•Insertar los paneles al panel de contenido

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

public GUI_CtaBancaria() {

cuenta = new CuentaBancaria(3);
contenedor = getContentPane();
panelAcciones = new JPanel();
panelSaldo = new JPanel();
botonDep = new JButton();
botonExt = new JButton();
botonConsultar = new JButton();
setSize(210, 210);
setDefaultCloseOperation(EXIT_ON_CLOSE);
armarGUI();

}

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

public void armarGUI() {
//Apariencia de los botones
botonDep.setPreferredSize(new Dimension(124, 50));
botonDep.setSize(150, 50);
botonDep.setBorder(BorderFactory.createCompoundBorde(

new LineBorder
(new java.awt.Color(0, 0, 0), 1, false),null));
botonExt.setText("Extraer");
botonExt.setPreferredSize(new Dimension(124, 50));
botonExt.setSize(150, 50);
botonExt.setBorder(BorderFactory.createCompoundBorder(

new LineBorder(
new java.awt.Color(0, 0, 0), 1, false),null));

botonConsultar.setText("Consultar Saldo");
botonConsultar.setPreferredSize(new Dimension(136, 30));
botonConsultar.setSize(150, 30);
botonConsultar.setBorder
(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
}

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

public void armarGUI() {
//Crear oyentes
OyenteDepositar oDepositar=new OyenteDepositar();
OyenteExtraer oExtraer = new OyenteExtraer();
OyenteConsultar oConsultar =new OyenteConsultar();
// Registrar oyentes
botonDep.addActionListener(oDepositar);
botonExt.addActionListener(oExtraer);
botonConsultar.addActionListener(oConsultar);

}

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

public void armarGUI() {

// Layout del panel contenedor
contenedor.setLayout(new BorderLayout());

// Panel de Acciones
BorderFactory.createEtchedBorder(BevelBorder.LOWERED));

panelAcciones.setBorder(
panelAcciones.setPreferredSize(
panelAcciones.setSize(160, 125);

new Dimension(160, 130));


}

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

public void armarGUI() {

// Insertar botones a los paneles

panelAcciones.add(botonDep);
panelAcciones.add(botonExt);
panelSaldo.add(botonConsultar);

// Insertar los paneles al contenedor

contenedor.add(panelAcciones, BorderLayout.NORTH);
contenedor.add(panelSaldo, BorderLayout.SOUTH);

}

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

private class OyenteDepositar implements ActionListener {

public void actionPerformed(ActionEvent event){

float dep;
String deposito;
JOptionPane dialogo = new JOptionPane();
deposito = dialogo.showInputDialog
if ((deposito != null) && (deposito.length() > 0)){

( "Ingrese la cantidad a depositar" );

dep = Float.parseFloat(deposito);
dialogo.showMessageDialog(null,

"Usted depositó " + dep+ " pesos","Depósito",

JOptionPane.PLAIN_MESSAGE );

cuenta.depositar(dep);

}

}
}

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria

private class OyenteExtraer implements ActionListener {
public void actionPerformed(ActionEvent event){

float ext;
String extraccion;
JOptionPane dialogo = new JOptionPane();
extraccion = dialogo.showInputDialog
if ((extraccion != null) && (extraccion.length() > 0)){
ext = Float.parseFloat(extraccion);
if (cuenta.puedeExtraer(ext)){

( "Ingrese la cantidad a extraer" );

JOptionPane.showMessageDialog( null,

"Usted extrajo "+ext+ " pesos",

"Extracción", JOptionPane.PLAIN_MESSAGE );

else

cuenta.extraer(ext) ;}
dialogo.showMessageDialog( null,

"Usted NO puede extraer esa cantidad“,

"Advertencia", JOptionPane.WARNING MESSAGE );

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Bancaria
public void actionPerformed(ActionEvent event){

private class OyenteConsultar implements ActionListener {

dialogo.showMessageDialog(null,

JOptionPane dialogo = new JOptionPane();
if (cuenta.obtenerSaldo()>=0)
"Usted tiene un saldo de " + cuenta.obtenerSaldo()+
" pesos“,"SALDO“,JOptionPane.INFORMATION_MESSAGE );
else
dialogo.showMessageDialog(null,

"Usted está en rojo en " +
(-1)*cuenta.obtenerSaldo() + " pesos“,

"SALDO", JOptionPane.ERROR_MESSAGE );

}

}

Introducción a la Programación Orientada a Objetos

Caso de Estudio: Cuenta Banca
  • Links de descarga
http://lwp-l.com/pdf15836

Comentarios de: Programación Basada en Eventos - Introducción a la Programación Orientada a Objetos (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