construccion de un sistema de aplicacion

Anuncio
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
CONSTRUCCION DE UN SISTEMA DE APLICACION
Introducción
Vamos a proceder a crear un sistema de aplicación. En base a los conocimientos
adquiridos simularemos un sistema de aplicación. Haremos uso de los objetos
aprendidos en las sesiones anteriores como también manejo de atributos y métodos
de clases. Además haremos uso de estructuras de datos llamadas arreglos. El
caso que trataremos es sobre cuentas de ahorros y CTS de un Banco, y lo
desarrollaremos en dos etapas. En este tema haremos la primera etapa y en la
última completaremos el desarrollo del caso.
Docente: Ing. Mirko Manrique Ronceros
Página 1 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
CASO:Banco-Cuentas
Un banco ofrece los productos de ahorros en soles, ahorros en dólares, CTS en soles y
CTS en dólares. Un cliente puede sólo tener una cuenta de cualquier producto antes
mencionado. Observe el siguiente diseño:
Para aperturar una cuenta debemos ingresar los apellidos y los nombres del cliente,
luego al dar click en un botón de comando Buscar procedemos a la búsqueda de los
datos en la estructura de datos o arreglo. Si no se encuentra los datos procedemos a
ingresar la dirección y el número de documento de identidad y si existe los datos
del cliente, entonces se muestra el número de documento de identidad y el número de
tarjeta. El número de tarjeta se inicia con los dígitos 5788 seguido del número del
documento de identidad. Cabe señalar si los datos del cliente ya existen se debe
inhabilitar el uso de los objetos JRadioButton respecto a las cuentas que ya tiene el
cliente. Si es un nuevo cliente se habilitarán todos los objetos referidos a los tipos de
cuentas. Una vez indicado los datos procedemos a grabar los datos, lo cual implica
Docente: Ing. Mirko Manrique Ronceros
Página 2 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
insertar los datos en el objeto Table como también en la estructura de datos o arreglo.
El objeto Table se encuentra en la segunda pestaña “Cuentas Aperturadas” del objeto
JTabbedPanel.
El botón de comando Cancelar es para suspender el proceso de apertura de cuenta
haciendo limpiar los objetos de control y el botón de comando Cerrar es para ocultar la
ventana.
Veamos el diseño del formulario de Operaciones Bancarias que también está
conformado por un objeto JTabbedPanel que contine dos Tab, es decir, maneja dos
pestañas. La primera pestaña tiene el siguiente diseño:
Docente: Ing. Mirko Manrique Ronceros
Página 3 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
La segunda pestaña tiene el siguiente diseño:
Docente: Ing. Mirko Manrique Ronceros
Página 4 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
Para las operaciones o transacciones bancarias se inica con ingresar el numero de
tarjeta (recordemos que el número de tarjeta se inicia con 5788, seguido del número de
documento de identidad). Luego al dar click en el botón de comando Buscar hacemos la
búsqueda de la cuenta en el arreglo o estructura de datos. Si encuentra el número de
tarjeta procedemos a visualizar los apellidos y nombres del cliente y se habilitan a los
objetos JRadioButton de las cuentas que tiene el cliente. Si no se encuentra el número
de tarjeta procedemos a mostrar un mensaje de error. A continuación se selecciona una
cuenta y el tipo de operación (Retiro o Depósito) e ingresamos el monto de la
operación. Al dar click en el botón de comando Procesar grabaremos o insertamos los
datos en el objeto Table (objeto que se muestra en la segunda pestaña) y en la
estructura de datos o arreglo. Cabe señalar que el uso de los arreglos es para salvar los
datos ya que al cerrar la ventana los datos contenidos en el objeto JTable se pierden y
cuando se vuelve a mostrar nuevamente la ventana los datos contenidos en los arreglos
se llenan en el obejto JTable.
Tanto la ventana o formulario de Apertura de Cuentas como la ventana o formulario de
Operaciones Bancarias serán invocados o ejecutados desde las opciones de un menú,
cuyo diseño es el siguiente:
Docente: Ing. Mirko Manrique Ronceros
Página 5 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
Solución:
1. Creamos un proyecto denominado Caso_banco. Luego estando en el entorno de
NetBeans, seleccionamos el paquete caso_banco y dando click botón derecho
del mouse, se muestra un menú flotante, donde seleccionamos Formulario
JFrame.
2. A continuación, colocaremos como nombre de formulario frmMenu.
Luego dar click en el botón de comando Finish (en caso de que la versión de
Docente: Ing. Mirko Manrique Ronceros
Página 6 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
NetBeans es en castellano entonces dar click en el botón de comando Terminar)
3. Estando en el entorno de desarrollo de NetBeans, en el panel de Inspector
seleccionamos JFrame y damos click botón derecho del mouse
seleccionamos Agregar desde paleta, luego Swing y posteriormente JmenuBar.
4. Se crea una barra de Menú con una primera opción del tipo Jmenu. Procedemos a
renombrarlo con JMenuProcesos y cambiarle el texto como “Procesos”.
Docente: Ing. Mirko Manrique Ronceros
Página 7 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
5. Procedemos a agregar dos objetos del tipo JMenuItem. Estas opciones del menú
indicarán: “Apertura de Cuentas” y “Operaciones Bancarias”. El panel de Inspector
debe quedar así:
6. Si procedemos a ejecutar lo avanzado hasta el momento se debe visualizar lo
siguiente:
7. Ahora, vamos aproceder a crear el formulario para apertura de cuentas. Creamos
un objeto JFrame.
Docente: Ing. Mirko Manrique Ronceros
Página 8 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
8. Le damos como nombre al formulario frmApertura.
Luego dar click en el botón de comando Finish (en caso de que la versión de
NetBeans es en castellano entonces dar click en el botón de comando Terminar)
9. Se muestra el entorno de desarrollo de NetBeans y no olvidemos de dar click en el
botón derecho del mouse sobre el formulario y establece AbsoluteLayout
en SetLayout.
Docente: Ing. Mirko Manrique Ronceros
Página 9 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
10. Iniciamos el diseño del formulario colocando un objeto JLabel y JTabbedPanel.
Creamos la primera pestaña con la expresión “Apertura de Cuentas”.
11. Procedemos a colocar AbsoluteLayout en la opción Set Layout cuando
usemos el botón derecho del mouse sobre el Tab1.
Docente: Ing. Mirko Manrique Ronceros
Página 10 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
12. Colocamos un objeto JDesktopPanel, cambiamos el color a un amarillo claro y
luego ponemos un objeto JPanel, el cual debe tener un borde y un título con la
expresión “Información del Cliente”. Al objeto JPanel debemos establecer
AbsoluteLayout en SetLayout.
Docente: Ing. Mirko Manrique Ronceros
Página 11 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
13. Continuamos con el diseño del formulario. Debemos crear un segundo objeto
JPanel dentro del Tab1 y establecer AbsoluteLayout en SetLayout.
14. Procedamos a colocar nombres a los objetos de control de la primera pestaña.
Docente: Ing. Mirko Manrique Ronceros
Página 12 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
15. Vamos a diseñar la segunda pestaña. Procedemos a colocar AbsoluteLayout
en la opción Set Layout cuando usemos el botón derecho del mouse sobre el
Tab2.
Docente: Ing. Mirko Manrique Ronceros
Página 13 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
16. El diseño del formulario para la segunda pestaña debe quedar así:
17. Pasemos a diseñar el formulario para las operaciones bancarias. Creamos un
objeto JFrame.
18. Le damos como nombre al formulario frmOperaciones.
Docente: Ing. Mirko Manrique Ronceros
Página 14 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
Luego dar click en el botón de comando Finish (en caso de que la versión de
NetBeans es en castellano entonces dar click en el botón de comando Terminar)
19. Se muestra el entorno de desarrollo de NetBeans y no olvidemos de dar click en
el botón derecho del mouse sobre el formulario y establece AbsoluteLayout
en SetLayout.
20. Iniciamos
JTabbedPanel.
el
diseño
Docente: Ing. Mirko Manrique Ronceros
del
formulario
Página 15 de 30
colocando
un
objeto
JLabel
y
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
Creamos la primera pestaña con la expresión “Operaciones Banacrias” y
procedemos a colocar AbsoluteLayout en la opción Set Layout cuando usemos
el botón derecho del mouse sobre el Tab1.
21. Colocamos un objeto JDesktopPanel, cambiamos el color a un amarillo claro y
luego ponemos un objeto JPanel, el cual debe tener un borde y un título con la
expresión “Información del Cliente”. Al objeto JPanel debemos establecer
AbsoluteLayout en SetLayout.
Docente: Ing. Mirko Manrique Ronceros
Página 16 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
22. Continuamos con el diseño del formulario. Debemos crear un segundo
objeto JPanel dentro del Tab1 y establecer AbsoluteLayout en SetLayout.
23. Procedamos a colocar nombres a los objetos de control de la primera pestaña.
Docente: Ing. Mirko Manrique Ronceros
Página 17 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
24. Vamos a diseñar la segunda pestaña. Procedemos a colocar AbsoluteLayout
en la opción Set Layout cuando usemos el botón derecho del mouse sobre el
Tab2.
25. El diseño del formulario para la segunda pestaña debe quedar así:
Docente: Ing. Mirko Manrique Ronceros
Página 18 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
26. Procedamos a programar en cada uno de los formularios.
CODIGO DEL FORMULARIO frmMenu
public class frmMenu extends javax.swing.JFrame {
//creación de atributos de tipo arreglo y entero
public static String valores[][]=new String [100][5];
public static String movimientos[][]=new String [100][6];
public static int registros=-1;
public static int filas=-1;
//método para asignar datos al arreglo valores
public void setValores(int f,String d1, String d2, String d3, String d4, String d5)
{
valores[f][0]=d1;
valores[f][1]=d2;
valores[f][2]=d3;
valores[f][3]=d4;
valores[f][4]=d5;
}
//método para obtener un dato dado el valor de los índices del elemento del arreglo
public String getValores(int f, int c)
{
return valores[f][c];
}
//método que actualiza el saldo de la cuenta
public void setActualizaSaldo(int f, String s)
{
valores[f][4]=s;
}
//método que actualiza el valor de filas que controla al arreglo valores
public void setFilas(int f)
{
filas=f;
}
//método que perimte obtener el valor del atributo filas
public int getFilas()
{
return filas;
}
//método para asignar datos al arreglo movimeintos
public void setMovimientos(int f,String d1, String d2, String d3, String d4, String d5, String d6)
{
movimientos[f][0]=d1;
movimientos[f][1]=d2;
movimientos[f][2]=d3;
movimientos[f][3]=d4;
movimientos[f][4]=d5;
movimientos[f][5]=d6;
}
//método para obtener un dato dado el valor de los índices de un elemento
public String getMovimientos(int f, int c)
{
return movimientos[f][c];
}
//método que actualiza el valor de registros que controla el arreglo movimientos.
public void setRegistros(int f)
{
registros=f;
}
Docente: Ing. Mirko Manrique Ronceros
Página 19 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
//método para obtener el valor del atributo registros
public int getRegistros()
{
return registros;
}
//método constructor
public frmMenu() {
initComponents();
this.setSize(800,700);
}
private void jMenuItemOperacionesActionPerformed(java.awt.event.ActionEvent evt) {
new frmOperaciones().setVisible(true);
}
private void jMenuItemAperturaCuentasActionPerformed(java.awt.event.ActionEvent evt) {
new frmApertura().setVisible(true);
}
CODIGO DEL FORMULARIO frmApertura
package caso_banco;
import javax.swing.JOptionPane.*;
import javax.swing.*;
import javax.swing.table.*;
public class frmApertura extends javax.swing.JFrame {
DefaultTableModel dtm=new DefaultTableModel();
//instanciar fmenu a partir de la clase frmMenu
frmMenu fmenu=new frmMenu();
/** Creates new form frmApertura */
//método constructor
public frmApertura() {
initComponents();
String titulos[]={"Nro Tarjeta","Apellidos","Nombres","Tipo Cuenta","Saldo Actual"};
dtm.setColumnIdentifiers(titulos);
this.usoObjetosRadio(false);
TablaCuentas.setModel(dtm);
this.llenarTabla();
btnGrabar.setEnabled(false);
this.setLocation(120,120);
txtApe.requestFocus();
}
//método para llenar de filas a la TablaCuentas
public void llenarTabla()
{
int f, i;
f=fmenu.getFilas();
String datos[]=new String[5];
if (f>=0)
{
for (i=0;i<=f;i++)
{
datos[0]=fmenu.getValores(i,0);
datos[1]=fmenu.getValores(i,1);
datos[2]=fmenu.getValores(i,2);
datos[3]=fmenu.getValores(i,3);
datos[4]=fmenu.getValores(i,4);
dtm.addRow(datos);
}
}
}
public void limpiarObjetos()
{
txtApe.setText("");
Docente: Ing. Mirko Manrique Ronceros
Página 20 de 30
[email protected]
}
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
txtNom.setText("");
txtDir.setText("");
txtDoc.setText("");
txtNroTar.setText("");
txtSaldoInicial.setText("");
public void usoObjetosTexto(boolean accion)
{
txtDir.setEnabled(accion);
txtDoc.setEnabled(accion);
}
public void usoObjetosRadio(boolean accion)
{
rbAhorroSoles.setEnabled(accion);
rbAhorroDolares.setEnabled(accion);
rbCTSsoles.setEnabled(accion);
rbCTSdolares.setEnabled(accion);
}
private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
this.limpiarObjetos();
this.usoObjetosTexto(false);
this.usoObjetosRadio(false);
btnGrabar.setEnabled(false);
txtApe.requestFocus();
}
private void btnGrabarActionPerformed(java.awt.event.ActionEvent evt) {
String datos[]=new String[5];
int filas;
boolean verifica;
if (txtApe.getText().length()==0)
{
JOptionPane.showMessageDialog(null,"Ingresa el Apellido del Cliente");
return;
}
if (txtNom.getText().length()==0)
{
JOptionPane.showMessageDialog(null,"Ingresa el Nombre del Cliente");
return;
}
if (txtDoc.getText().length()==0)
{
JOptionPane.showMessageDialog(null,"Ingresa el Número del Documento de Identidad del Cliente");
return;
}
verifica=rbAhorroSoles.isSelected() || rbAhorroDolares.isSelected() || rbCTSsoles.isSelected() ||
rbCTSdolares.isSelected();
if (!verifica)
{
JOptionPane.showMessageDialog(null,"Selecciona un tipo de Cuenta");
return;
}
if (txtSaldoInicial.getText().length()==0)
{
JOptionPane.showMessageDialog(null,"Ingresa un Saldo Inicial");
return;
}
datos[0]="5788"+txtDoc.getText();
datos[1]=txtApe.getText();
datos[2]=txtNom.getText();
datos[4]=txtSaldoInicial.getText();
if (rbAhorroSoles.isSelected())
{
datos[3]="Ahorro en Soles";
}
if (rbAhorroDolares.isSelected())
{
datos[3]="Ahorro en Dólares";
Docente: Ing. Mirko Manrique Ronceros
Página 21 de 30
[email protected]
}
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
}
if (rbCTSsoles.isSelected())
{
datos[3]="CTS en Soles";
}
if (rbCTSdolares.isSelected())
{
datos[3]="CTS en Dólares";
}
dtm.addRow(datos);
filas=dtm.getRowCount();
fmenu.setValores(filas-1,datos[0],datos[1],datos[2],datos[3],datos[4]);
fmenu.setFilas(filas-1);
this.limpiarObjetos();
this.usoObjetosTexto(false);
btnGrabar.setEnabled(false);
this.usoObjetosRadio(false);
private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt) { String
ape, nom, tipocuenta, nrotar;
ape=txtApe.getText();
nom=txtNom.getText();
this.usoObjetosRadio(true); int
filas, i;
boolean encuentra=false;
filas=TablaCuentas.getRowCount();
if (filas>0)
{
for (i=0;i<filas;i++)
{
if (ape.equalsIgnoreCase((String)TablaCuentas.getValueAt(i,1)) &&
nom.equalsIgnoreCase((String)TablaCuentas.getValueAt(i,2)))
{
encuentra=true; txtNroTar.setEnabled(true);
nrotar=(String)TablaCuentas.getValueAt(i,0);
txtNroTar.setText(nrotar); txtNroTar.setEnabled(false);
txtDoc.setEnabled(true);
txtDoc.setText(nrotar.substring(4));
txtDoc.setEnabled(false);
tipocuenta=(String)TablaCuentas.getValueAt(i,3); if
(tipocuenta.equals("Ahorro en Soles"))
rbAhorroSoles.setEnabled(false);
if (tipocuenta.equals("Ahorro en Dólares"))
rbAhorroDolares.setEnabled(false);
if (tipocuenta.equals("CTS en Soles"))
rbCTSsoles.setEnabled(false);
if (tipocuenta.equals("CTS en Dólares"))
rbCTSdolares.setEnabled(false);
}
}
}
}
if (!encuentra)
{
this.usoObjetosTexto(true);
txtDir.setText("");
txtDoc.setText("");
txtDir.requestFocus();
}
btnGrabar.setEnabled(true);
CODIGO DEL FORMULARIO frmOperaciones
package caso_banco;
import javax.swing.JOptionPane.*;
Docente: Ing. Mirko Manrique Ronceros
Página 22 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
import javax.swing.*;
import javax.swing.table.*;
public class frmOperaciones extends javax.swing.JFrame {
DefaultTableModel dtm=new DefaultTableModel();
//instanciar fmenu a partir de la clase frmMenu
frmMenu fmenu=new frmMenu();
/** Creates new form frmOperaciones */
//método constructor
public frmOperaciones() {
initComponents();
String titulos[]={"Tarjeta","Apellidos","Nombres","Tipo Cuenta","Tipo Operación","Monto"};
dtm.setColumnIdentifiers(titulos);
TablaOperaciones.setModel(dtm);
btnProcesar.setEnabled(false);
this.llenarTabla();
this.setLocation(120,120);
}
//método para llenar de filas a la TablaOperaciones
public void llenarTabla()
{
int f, i;
f=fmenu.getRegistros();
String datos[]=new String[6];
if (f>=0)
{
for (i=0;i<=f;i++)
{
datos[0]=fmenu.getMovimientos(i,0);
datos[1]=fmenu.getMovimientos(i,1);
datos[2]=fmenu.getMovimientos(i,2);
datos[3]=fmenu.getMovimientos(i,3);
datos[4]=fmenu.getMovimientos(i,4);
datos[5]=fmenu.getMovimientos(i,5);
dtm.addRow(datos);
}
}
}
public void usoObjetosRadio(boolean accion)
{
rbAhorroSoles.setEnabled(accion);
rbAhorroDolares.setEnabled(accion);
rbCTSsoles.setEnabled(accion);
rbCTSdolares.setEnabled(accion);
}
public void limpiarObjetos()
{
txtNroTar.setText("");
txtApe.setText("");
txtNom.setText("");
txtMonto.setText("");
}
private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
this.limpiarObjetos();
this.usoObjetosRadio(true);
txtNroTar.requestFocus();
}
private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt) {
this.hide();
}
private void btnProcesarActionPerformed(java.awt.event.ActionEvent evt) { String
datos[]=new String[6];
Docente: Ing. Mirko Manrique Ronceros
Página 23 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
int reg, filas, i, posicion=0;
double saldo=0.0;
boolean verifica;
verifica=rbAhorroSoles.isSelected() || rbAhorroDolares.isSelected() || rbCTSsoles.isSelected() ||
rbCTSdolares.isSelected();
if (!verifica)
{
JOptionPane.showMessageDialog(null,"Selecciona un tipo de Cuenta");
return;
}
verifica=rbRetiro.isSelected() || rbDeposito.isSelected();
if (!verifica)
{
JOptionPane.showMessageDialog(null,"Selecciona un tipo de Operación");
return;
}
if (txtMonto.getText().length()==0)
{
JOptionPane.showMessageDialog(null,"Ingresa el Monto de la Operación");
return;
}
datos[0]=txtNroTar.getText();
datos[1]=txtApe.getText();
datos[2]=txtNom.getText();
if (rbAhorroSoles.isSelected())
{
datos[3]="Ahorro en Soles";
}
if (rbAhorroDolares.isSelected())
{
datos[3]="Ahorro en Dólares";
}
if (rbCTSsoles.isSelected())
{
datos[3]="CTS en Soles";
}
if (rbCTSdolares.isSelected())
{
datos[3]="CTS en Dólares";
}
if (rbRetiro.isSelected())
{
datos[4]="Retiro";
}
if (rbDeposito.isSelected())
{
datos[4]="Depósito";
}
datos[5]=txtMonto.getText();
//Búsqueda del Saldo de la cuenta
filas=fmenu.getFilas();
for (i=0;i<=filas;i++)
{
if (fmenu.getValores(i,0).equals(datos[0]) && fmenu.getValores(i,3).equals(datos[3]))
{
saldo=Double.parseDouble(fmenu.getValores(i,4));
posicion=i;
}
}
//en caso de ser retiro verificar suficiente saldo de la cuenta
if (rbRetiro.isSelected())
{
if (Double.parseDouble(datos[5])>saldo)
{
JOptionPane.showMessageDialog(null,"El Monto de retiro supera al saldo Actual");
return;
}
saldo=saldo-Double.parseDouble(datos[5]);
}
//en caso de ser deposito sumar en saldo
if (rbDeposito.isSelected())
Docente: Ing. Mirko Manrique Ronceros
Página 24 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
{
saldo=saldo+Double.parseDouble(datos[5]);
}
//actualizamos el saldo de la cuenta
fmenu.setActualizaSaldo(posicion,String.valueOf(saldo));
//agregamos una fila en la Tabla que se encuentra en la segunda pestaña
dtm.addRow(datos);
//obtenemos el número de filas encontradas en la Tabla y luego grabamos en el arreglo matriz
Movimientos
reg=dtm.getRowCount();
fmenu.setMovimientos(reg-1,datos[0],datos[1],datos[2],datos[3],datos[4],datos[5]);
//actualizamos el número de registros
fmenu.setRegistros(reg-1);
this.limpiarObjetos();
this.usoObjetosRadio(true);
btnProcesar.setEnabled(false
); txtNroTar.requestFocus();
}
private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt)
{ String nrotar;
nrotar=txtNroTar.getText();
int f, i;
f=fmenu.getFilas();
boolean
encuentra=false; if
(f>=0)
{
this.usoObjetosRadio(false);
for (i=0;i<=f;i++)
{
if (fmenu.getValores(i,0).equals(nrotar))
{
if (fmenu.getValores(i,3).equals("Ahorro en Soles"))
rbAhorroSoles.setEnabled(true);
if (fmenu.getValores(i,3).equals("Ahorro en Dólares"))
rbAhorroDolares.setEnabled(true);
if (fmenu.getValores(i,3).equals("CTS en Soles"))
rbCTSsoles.setEnabled(true);
if (fmenu.getValores(i,3).equals("CTS en Dólares"))
rbCTSdolares.setEnabled(true);
txtApe.setText(fmenu.getValores(i,1))
;
txtNom.setText(fmenu.getValores(i,2)
); encuentra=true;
btnProcesar.setEnabled(true);
}
}
if (!encuentra)
{
JOptionPane.showMessageDialog(null,"El número de Tarjeta NO EXISTE !!!");
this.usoObjetosRadio(true);
}
}
}
else
{
JOptionPane.showMessageDialog(null,"No existe Tarjeta alguna para realizar una Operación");
}
27. Una vez programado, procedemos a ejecutar la aplicación. Ejecutamos
el formulario frmMenu.
Docente: Ing. Mirko Manrique Ronceros
Página 25 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
Al dar click en la opción Apertura de Cuentas, ingresamos los apellidos y
nombres de un cliente.
Luego damos click en el botón de comando Buscar y como es un nuevo
cliente procedemos a ingresar la dirección y el documento de identidad.
Seleccionamos el tipo de cuenta Ahorro en Soles. Por ejemplo si no ingresamos
Docente: Ing. Mirko Manrique Ronceros
Página 26 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
el saldo inicial y damos click en el botón de comando Grabar mostrará un
mensaje de error.
Una vez ingresado el saldo inicial y al dar click en el botón de comando Grabar se
graba en el objeto JTable denominado TablaCuentas. Se limpia los obejtos de
control y se inhabilita el botón de comando Grabar.
Docente: Ing. Mirko Manrique Ronceros
Página 27 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
Se mostrará en la segunda pestaña la cuenta aperturada.
Damos click en el botón de comando Cerrar. Seleccionamos del menú la opción
Operaciones Bancarias. Ingresamos el número de tarjeta y al dar click se visualiza
los datos del cliente y se habilitan las cuentas aperturadas.
Docente: Ing. Mirko Manrique Ronceros
Página 28 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
Una vez seleccionado la cuenta de Ahorros en soles, elegimos el tipo de operación de
Depósito. Ingresamos el monto de la operación.
Damos click en el botón de comando Procesar se procede a grabar los datos
generando una nueva fila en el objeto JTable denominado TablaOperaciones.
Docente: Ing. Mirko Manrique Ronceros
Página 29 de 30
[email protected]
UNIVERSIDAD NACIONAL DEL SANTA
E.A.P. SISTEMAS E INFORMATICA
FACULTA DE INGENIERIA
CURSO: MICROCOMPUTACION III
Si cerramos la ventana de Operaciones Bancarias y seleccionamos la opción de
Apertura de Cuentas y nos dirigimos a la segunda pestaña y observamos que el
saldo actual ha aumentando en 300 soles quedando en 800 soles.
Docente: Ing. Mirko Manrique Ronceros
Página 30 de 30
[email protected]
Descargar