miércoles, 5 de diciembre de 2012

Inicio de sesion con manejo de Excepciones, JAVA,AWT,SWING

Hoy hablaremos un poco de manejo de excepciones. Básicamente, una excepción es un mecanismo de control de errores en tiempo de ejecución (o una forma de hacer que la aplicación continúe la ejecución si se produce un error). A veces se usan para detectar situaciones inusuales en la ejecución.

¿Como funciona?

El código que puede generar la excepción debe encerrarse dentro de un bloque try

try
{
 // Código que puede generar la excepción
}

A continuación, la excepción se captura con un bloque catch

catch (Exception e)
{
// Código para tratar el error
}

Aquí les dejo el código de un Inicio de Sesión con manejo de excepciones:




package basico;

import java.awt.FlowLayout; 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


import java.io.IOException;

/*java.io.IOException es una clase java que
 tiene por objetivo señalar que ha ocurrido algun
 tipo error de entrada o salida de datos, java crea un
 objeto de esta clase que representa ese error.
*/


import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JTextField; 
import javax.swing.WindowConstants;
import javax.swing.JPasswordField;
import javax.swing.JLabel;

public class excepcion {
 
 private JFrame  ven;
 private JButton but;
 private JTextField text1;
 private JPasswordField text2;
        private JLabel text3;

 public static void main (String args[]){
  
  new excepcion();
 }
 
 
public excepcion(){
   
  ven = new JFrame("Iniciar sesion");
  
  ven.getContentPane().setLayout(new FlowLayout());
  
  
  text1 = new JTextField(10); 
  text2 = new JPasswordField(10);
  
  ven.getContentPane().add(text1); 
  
  ven.getContentPane().add(text2); 
  
  
  but = new JButton("Pulsar");
  
  ven.getContentPane().add(but);
  
  
  text3 = new JLabel();// 3
  ven.getContentPane().add(text3);
  
  //************************* 
  // boton
  but.addActionListener(new ActionListener(){
   
   
   public void actionPerformed(ActionEvent e){
   
    Usuario u = new Usuario();
    
    u.usuario =text1.getText();
    u.clave = text2.getText();
    // manejo de excepciones
    try{

     if(u.Login())
     {
      text3.setText("sesion iniciada");
     }else
     {
      text3.setText("Datos incorrectos");
     }
     }
     catch(Exception ex){
     
      text3.setText(ex.toString());
     }
    
   }
  });
  
  //********PARA QUE SEA VISIBLE ***********
  
  
  ven.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  ven.pack();
  ven.setVisible(true);
  
 }

class Usuario
{
 String usuario, clave;
 
 public boolean Login() throws Exception {
 
  if(usuario.length() == 0)
   throw new Exception("No se especifico un usuario");
  if(clave.length() == 0)
   throw new Exception("No se especifico un clave");
  //                login                     password
  if(usuario.equals("admin") && clave.equals("programando"))
  {
   return true;
  }else
  {
   return false;
  }
     
 }
} // FIN USUARIO
 

}



1 comentario:

  1. exlenete blog necesito un favor: tengo una aplicacion con acceso a base de datos sqlserver y con inicio de sesion segun la tabla y la columnas password y nombre de la base de datos lo que necesito saber, es como cuando me verifica bien los datos y entro a mi aplicacion tengo un JMenuBar q tiene configuracion de usuarios este me lleva a un JCombobox donde tiene todas las bases de datos del SGBD. y que cuando seleccione una base de datos del combo me cambie de la base de datos que estoy predeterminada???? porfavor no consigo solucion hace mucho pero mucho tiempo tengo este problema

    ResponderEliminar