Tabla de Explicación

download Tabla de Explicación

of 13

Transcript of Tabla de Explicación

Alumno | Grupo | Programacin Orientada a ObjetosFecha

Proyecto de Banco

Alumno: PSP: Asignatura: Programacin Orientada a ObjetosGrupo: Fecha:

Tabla de ExplicacinCdigoDescripcinSalida

import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;import Estas lneas son el llamado de las libreras y siempre van al principio del cdigo, se utilizan para especificar que vamos a usar algn mtodo especial, y en nuestro caso, NetBeans ya tiene algunas echas.Cualquier programa de Java

package programapinsql;Esta lnea especfica con que paquete estamos trabajando, ya que al momento de crear el proyecto se realiza un paquete, con la finalidad de especificar con que archivos pueden esta relacionados, ejemplo; el uso de clases en el mainCualquier programa de Java

public class ProgramaPINSQLEsta lnea asigna una clase, y estas funcionan para organizar y agrupar el cdigo, ya que al asignarle un nombre, al momento de ser llamado, los procesos que tenga este sern usadasProcesos especficosCualquier programa de Java

public static void main(String[] args)Esta lnea especfica el cdigo principal, y en este se especifican los procesos principales, y en caso de que se haga uso de alguna clase, en esta se llama, y en nuestro caso, por ser un frame (ventana), la mayor parte del cdigo estar en la clase asignada para elloCualquier programa de Java

VentanaPIN accion=new VentanaPIN();accion.setVisible(true);Esta lnea especfica que se va a crear una clase, se guardara en un objeto, y despus se har uso de la clase usando el objetoAl ser un frame (ventana), se especifica que su visibilidad ser cierta (setVisible(true))Crea y llama a la clase

Panel panel1=new Panel();Frame ventana1=new Frame();FlowLayout posicion1=new FlowLayout(FlowLayout.CENTER);Label labelpin=new Label("Introdusca su PIN:");JTextField txtPINPass=new JTextField(20);//Aqui es donde se guarda la contrasea, txtxPINPass sera el objetoButton entrarBoton=new Button("Entrar");Button cancelarBoton=new Button("Cancelar");Font lblFuente=new Font("Verdana",0,18);Estas lneas son la parte donde se elabora la ventana, y aqu es donde se debe asignar todas las propiedades:Panel: uso donde se guarda la ventanaLabel: Texto simpleJTextField: Cuadros de texto tipo normal (sin censura)Button: BotonFont: Tipo de fuenteCada propiedad debe guardarse en un objeto, para cuando queramos usarlo, la llamemos e identifique de que tipo es.OJO: SOLO LO HEMOS CREADO, NO LO ESTAMOS USANDOCreacin de los elementos que llevara la ventana

VentanaPIN() { crearVentana();//Hace un llamado acciones(); }Aqu estamos especificando que cuando se haga uso de VentanaPIN, este llamara a 2 mtodosLlamado de 2 mtodos

public void crearVentana(){panel1.setLayout(posicion1);setTitle("Ventana Principal");setSize(400,105);setResizable(false);labelpin.setFont(lblFuente);panel1.setBackground(Color.WHITE);panel1.setForeground(Color.black);add (panel1);panel1.add(labelpin);panel1.add(txtPINPass);panel1.add(entrarBoton);panel1.add(cancelarBoton);//Centrar la ventana de manera autonomaDimension tamFrame=this.getSize();//Obtiene las dimensiones del FrameDimension tamPantalla=Toolkit.getDefaultToolkit().getScreenSize();//Obtiene las dimensiones de la pantallasetLocation((tamPantalla.width-tamFrame.width)/2,(tamPantalla.height-tamFrame.height)/2);}En esta parte realizamos el llamado de la ventana, el panel es donde se almacena la ventana, la funcin add especifica que se aumentara algo, y en la ultima parte especifica la posicin de la venta, que en este caso consigue los pixeles de la ventana, y los divide en 2 para que quede en el centro

public boolean validarPIN(String PIN)Los mtodos bolanos sirve para dar como un resultado SI o NO, y este lo usaremos para especificar en su caso la sentencia mencionada en esta es correcta, que ser la obtencin del texto en el JTextFieldUso de mtodo booleano

if (txtPINPass.getText().isEmpty())Los procesos IF y su contradiccin ELSE realizan la comparacin de una sentencia (operacin o simple lectura de una variable con una condicion), en caso de que sea positiva la comparacin realiza el proceso, de lo contrario niega el proceso.En esta parte llamamos al nombre de la variable a comparar, el .getTextField especifica que se conseguir el texto de esta variable, y el .isEmpty especifica que en caso de que el texto sea nuloValidacin del PIN

JOptionPane.showMessageDialog(null,"Deve introducir su PIN");return(false);Esta funcin sirve para mostrar un mensaje, y el return da un valor, al estar este dentro de un mtodo booleano, tiene que regresar un valor, y al regresar un valor falso, ese tiene en claro que le regreso el valor negativamente y no realizara un proceso

tryEl try es un proceso en la que intenta de realizar lo que este dentro de este, y en caso de que falle durante ello, esta su contraria que es catch, y en esta, algo similar como el IF/ELSE, realizara los procesos en caso de que sea falso en tryIntenta realizar un proceso

Connection unaConexion=DriverManager.getConnection("jdbc:mysql://localhost/baseprogramacion","root","");Esta lnea especfica que se est realizando una conexin con una Base de datos, haciendo usa de un conector, una direccin y unos datos de administracin de esta (el servidor local)Realiza una conexin

Statement instruccionSQL=unaConexion.createStatement();Especificamos que de la conexin obtenida, vamos a realizar un proceso, y este proceso debe tener un objeto donde guardarseProceso

ResultSet resultadosConsulta=instruccionSQL.executeQuery("SELECT * FROM usuarios WHERE PIN='"+PIN+"'");Aqu se especifica la operacin, y al ser administracin de Base de datos, se utiliza condigo que entienda el conector, en este caso, el SQLProceso

addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent we){System.exit(0);}});Especifica que de la ventana permitir realizar un proceso (WindowListener y WindowAdapter), y que en pocas palabras, que al momento de darle clic en el icono de cerrar, este realice el proceso correspondienteProceso

cancelarBoton.addActionListener (new ActionListener(){public void actionPerformed(ActionEvent evt){System.exit(0);}});Aqu damos a entender los procesos que llevara a cabo un botn en caso de que se usa, y en este ejemplo, al ser Cancelas, este se saldr (System.exit 0)Proceso

public class menuWindow extends JFrame{}Este cdigo da a entender que se inicia una clase con atributos de una ventana, por la palabra extends FrameProceso

Panel panel1=new Panel(); FlowLayout posicion1=new FlowLayout(FlowLayout.CENTER); Label labelMENSAJE1=new Label(" Bienvenido "); Label labelMENSAJE2=new Label(" Este es el menu principal "); Button salirBoton=new Button("Salir"); Button consultaBoton=new Button("Consulta"); Button depositoBoton=new Button("Deposito"); Button retiroBoton=new Button("Retiro"); Font lblFuente1=new Font("Century Gothic",0,70); Font lblFuente2=new Font("Century Gothic",0,40); Font lblFuente3=new Font("Century Gothic",0,28);Estos son los elementos a usar para la elaboracin de nuestra nueva ventanaProceso

Label lblnombrecli=new Label();Este es un rea de texto, la razn de que no se le asign un valor de forma directa es porque en el cdigo de la ventana anterior ya se le asigno, en la siguiente parte;ventana1.lblnombrecli.setText(resultadosConsulta.getString("nombre"));

Este cdigo menciona que de nuesto objeto (crado en ese momento para hacer posible que se realice la accin de crear la nueva ventana) se le va a asignar un valor a la variable lblnombrecli, el setText da a entender que se va a obtener el valor del texto, asi que en este caso nuestra variable donde vamos a guardar el valor tiene que ser tipo String, de la variable resultadosConsukta, que es donde realizamos la consulta de nuestro pin, al indicar en el cdigo SQL SELECT *FROM, podemos aprovechar esto y obtener otras variables, y en este caso va a tomar el valor de nuestra columna llamada nombreProceso

private float vSaldo;private float ctd;private String PIN;private Statement SQLst;Este cdigo menciona que se crearan nuevas variables, cada uno de diferente tipo, y el private indica que son nicas las variables, y no se podrn modificar por algn elemento externoProceso

menuWindow() { crearVentana(); acciones(); conectarBD(); }Procesos que se realizaran al ejecutarse la ventana , porque tiene el mismo nombre que nuestra claseProceso

public void crearVentana() { panel1.setLayout(posicion1); setTitle("Ventana Principal"); setSize(700,320); setResizable(false); labelMENSAJE1.setFont(lblFuente1); labelMENSAJE2.setFont(lblFuente3); lblnombrecli.setFont(lblFuente2); panel1.setBackground(new Color(183,0,0,198)); panel1.setForeground(new Color(22,0,149,179)); add (panel1); panel1.add(labelMENSAJE1); panel1.add(lblnombrecli); panel1.add(labelMENSAJE2); panel1.add(consultaBoton); panel1.add(depositoBoton); panel1.add(retiroBoton); panel1.add(salirBoton);

//Centrar la ventana de manera autonoma Dimension tamFrame=this.getSize();//Obtiene las dimensiones del Frame Dimension tamPantalla=Toolkit.getDefaultToolkit().getScreenSize();//Obtiene las dimensiones de la pantalla setLocation((tamPantalla.width-tamFrame.width)/2,(tamPantalla.height-tamFrame.height)/2); }Proceso que le corresponde a la creacin de la ventana, con sus elementos

public void acciones()Indica donde inicia el cdigo para este mtodoProceso

addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent we){System.exit(0);}});Cdigo que realiza que funcione el botn de salidaProceso

consultaBoton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ JOptionPane.showMessageDialog(null,"Saldo actual: "+vSaldo); } });Cdigo que le corresponde al botn de Consulta, toma el valor de la variable vSaldo y la imprime, la funcin de JOptionPane.showMessageDialog indica que se creara una ventana, es como un atajo que ya incluye un Frame

depositoBoton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ if(CantidadValida()){ depositar(); } }});;Cdigo que le corresponde al botn de depsito, primero hace el llamado del mtodo CantidadValida, y este al ser booleano, si da cierto, realiza el mtodo depositar

retiroBoton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev){ boolean ok=true; while(ok){ if(CantidadValida()){ if(vSaldo>=ctd){ retirar(); ok=false; } else{ JOptionPane.showMessageDialog(null,"El saldo no es suficiente"); } } else {ok=false;} } } });Cdigo que le corresponde al botn de retiro, donde toma un valor booleano ok, y mientras este sea cierto se llama el proceso y realiza la comparacin de CantidadValida, y este al ser al ser un mtodo de valor booleano, y este al ser cierto se llama al mtodo retirar. En caso contrario este se muestra un dialogo que nos menciona que el proceso est mal echo

salirBoton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent evt){ dispose(); VentanaPIN ventana1=new VentanaPIN(); ventana1.setVisible(true); } } );Cdigo que le corresponde al botn Salir, lo que hace es cerrar la ventana y muestra la del inicio

public void depositar() { try{ vSaldo=vSaldo+ctd; int n=SQLst.executeUpdate("UPDATE usuarios SET Saldo='"+vSaldo+"' WHERE PIN='"+PIN+"'"); if(n>0) { JOptionPane.showMessageDialog(null,"Deposito Realizado\nCanidad: "+ctd+"\nSaldo actual: "+vSaldo); } } catch(SQLException ex) { JOptionPane.showMessageDialog(null,ex); } }Cdigo que le corresponde al mtodo de depositar, que este realiza una actualizacin de la Base de datos, usando la variable vSaldo como principalProceso

public boolean CantidadValida(){ boolean ok=true; while(ok){ String sCtd=JOptionPane.showInputDialog("Saldo actual:"+vSaldo+"\nIntroduce la cantidad"); if(sCtd!=null){ if(sCtd.isEmpty()){ JOptionPane.showMessageDialog(this,"Deve introducir una cantidad"); } else{ try{ ctd=Float.parseFloat(sCtd); if(ctd0) { JOptionPane.showMessageDialog(null,"Retiro Realizado\nCantidad:"+ctd+"\nSaldo Actual:"+vSaldo); } else { JOptionPane.showMessageDialog(this,"No se a podido realizar el retiro"); } } catch(SQLException ex) { JOptionPane.showMessageDialog(null,ex); } }Proceso que le corresponde al retiro, analiza si la cantidad es lgica, si es de valor numrico, y si tiene un alcance lgicoProceso

public void conectarBD(){ try{ Connection conexion=DriverManager.getConnection("jdbc:mysql://localhost/baseprogramacioniddr404","root",""); SQLst=conexion.createStatement(); } catch(SQLException ex) { JOptionPane.showMessageDialog(null,ex); } }Mtodo que le corresponde a la conexin con la BDProceso