* con los datos de la clase.
* Método que retorna el nombre de usuario.
* Método que retorna la contraseña del usuario.
* Método que recibe la contraseña del usuario.
* Método que retorna el valor de verdad de existencia del usuario.
* Método que recibe el tipo de usuario.
* @param tipo String identificador principal de la clase de usuario.
* debido al tipo de usuario.
* Método abstracto de la clase.
Ahora necesitamos una clase que nos permita visualizar nuestro programa, por ende, tenemos la ventana encargada de solicitar los datos básicos. las siguientes dos clase estan en paquetes distintos debido a que ellas solo representan la interfaz de la aplicación.
package interfaz;
import java.awt.event.*;
import java.awt.*;
import javax.swing.JOptionPane;
import logica.*;
/**
* Clase que presenta al usuario una ventana
* para el ingreso de los datos y validar su existencia.
* Hereda de Frame e implementa ActionListener.
*
*
* @author Katherin Zubieta y Johanna Gutierrez
*/
public class Validacion extends Frame implements ActionListener {
private Creador creador;
private Label Usuario, Clave;
private TextField txfUs, txfCl;
private Button Salir, Ingresar;
private TipoUsuario us;
/**
* Constructor de la clase, inicializa todos los atributos.
*/
public Validacion() {
setLayout(null);
this.setBackground(Color.BLACK);
this.setResizable(false);
Ingresar = new Button("Ingresar");
creador = new CreadorLocal();
us = creador.construir();
Usuario = new Label("USUARIO :");
Usuario.setForeground(Color.white);
txfUs = new TextField(25);
txfUs.setText(null);
txfUs.setBackground(Color.white);
Clave = new Label("CONTRASEÑA :");
Clave.setForeground(Color.white);
txfCl = new TextField(30);
txfCl.setText(null);
Salir = new Button("Cancelar");
add(Usuario);
Usuario.setBounds(30, 60, 90, 20);
add(txfUs);
txfUs.setBounds(195, 60, 170, 20);
txfUs.addActionListener(this);
add(Clave);
Clave.setBounds(30, 90, 90, 20);
add(txfCl);
txfCl.setBounds(195, 90, 170, 20);
txfCl.addActionListener(this);
add(Ingresar);
Ingresar.setBounds(50, 150, 90, 30);
Ingresar.addActionListener(this);
add(Salir);
Salir.setBounds(250, 150, 90, 30);
Salir.addActionListener(this);
addWindowListener(new Cierre());
}
/**
* Main de la aplicación, inicializa y fija los valores de la propia ventana.
* @param args
*/
public static void main(String[] args) {
Validacion miIngreso = new Validacion();
miIngreso.setTitle("Validar Usuario y Contraseña");
miIngreso.setLocation(400, 200);
miIngreso.setSize(400, 200);
miIngreso.setVisible(true);
}
/**
* Método que recibe un evento del mouse para
* identificar que botón fue seleccionado.
* @param e ActionEvent
*/
public void actionPerformed(ActionEvent e) {
if (e.getSource() == Ingresar) {
if (txfUs.getText().length() != 0 && txfCl.getText().length() != 0) {
us.setNombre(txfUs.getText());
us.setClave(txfCl.getText());
us.capturaRelacion();
if (us.getExistencia() == true) {
if (us.getTipoUsuario().compareTo("local") == 0) {
creador = new CreadorLocal();
us = creador.construir();
}
if (us.getTipoUsuario().compareTo("remoto") == 0) {
creador = new CreadorRemoto();
us = creador.construir();
}
if (us.getTipoUsuario().compareTo("comun") == 0) {
creador = new CreadorComun();
us = creador.construir();
}
if (us.getTipoUsuario().compareTo("corporativo") == 0) {
creador = new CreadorCorporativo();
us = creador.construir();
}
this.dispose();
MenuUsuario MiMenu = new MenuUsuario(us);
} else {
JOptionPane.showMessageDialog(null,
"Usuario y/o contrase�a incorrectos ",
"Ingrese nuavamente sus datos", 0);
}
} else {
JOptionPane.showMessageDialog(
null,
" Existen Campos en blanco, <>",
"Informacion Incompleta", 2);
}
}
if (e.getSource() == Salir) {
System.exit(0);
}
}
class Cierre extends WindowAdapter {
/**
* Método que recibe un evento del mouse en la ventana, y se encarga de finalizar la ejecución de la aplicación.
* @param e WindowEvent
*/
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
}
y ahora la ventana que se generará si el usuario esta registrado, en ella se describe los permisos que el usuario posee segun su tipo de usuario.
package interfaz;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import logica.TipoUsuario;
/**
* Clase donde que presenta la ventana donde se muestra la informacion
* de los permisos del usuario.
* Hereda de Frame e implementa ActionListener
*
* @author Katherin Zubieta y Johanna Gutierrez
*/
public class MenuUsuario extends Frame implements ActionListener {
private Button salir;
private JTextArea informacion;
private TipoUsuario relacion;
private Font fuente1;
/**
* Constructor de la clase Inicializa todos sus atributos, recibe comoparámetro un TipoUsuario
* @param datos TipoUsuario
*/
public MenuUsuario(TipoUsuario datos) {
this.setLayout(null);
this.setResizable(false);
relacion = datos;
this.setTitle("BIENVENIDO " + " ***** " + relacion.getTipoUsuario() + " ***** ");
this.setSize(380, 280);
this.setLocation(200, 70);
this.setBackground(Color.BLACK);
salir = new Button("Salir");
salir.setBounds(160, 210, 70, 40);
salir.addActionListener(this);
add(salir);
informacion = new JTextArea();
informacion.setSize(250, 150);
informacion.setLocation(70, 50);
add(informacion);
fuente1 = new Font("Helvética", Font.ITALIC + Font.ROMAN_BASELINE, 12);
informacion.setFont(fuente1);
informacion.setText(relacion.permisos);
this.setVisible(true);
informacion.setForeground(Color.blue);
informacion.setEditable(false);
addWindowListener(new Cierre());
}
/**
* Método que recibe un evento del mouse en su botón,
* de modo que finaliza la ejecución de la aplicación.
* @param e ActionEvent
*/
public void actionPerformed(ActionEvent e) {
if (e.getSource() == salir) {
System.exit(0);
}
}
}
class Cierre extends WindowAdapter {
/**
* Método que recibe un evento del mouse en la ventana, y se encarga de finalizar la ejecución de la aplicación.
* @param e WindowEvent
*/
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
package interfaz;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import logica.TipoUsuario;
/**
* Clase donde que presenta la ventana donde se muestra la informacion
* de los permisos del usuario.
* Hereda de Frame e implementa ActionListener
*
* @author Katherin Zubieta y Johanna Gutierrez
*/
public class MenuUsuario extends Frame implements ActionListener {
private Button salir;
private JTextArea informacion;
private TipoUsuario relacion;
private Font fuente1;
/**
* Constructor de la clase Inicializa todos sus atributos, recibe comoparámetro un TipoUsuario
* @param datos TipoUsuario
*/
public MenuUsuario(TipoUsuario datos) {
this.setLayout(null);
this.setResizable(false);
relacion = datos;
this.setTitle("BIENVENIDO " + " ***** " + relacion.getTipoUsuario() + " ***** ");
this.setSize(380, 280);
this.setLocation(200, 70);
this.setBackground(Color.BLACK);
salir = new Button("Salir");
salir.setBounds(160, 210, 70, 40);
salir.addActionListener(this);
add(salir);
informacion = new JTextArea();
informacion.setSize(250, 150);
informacion.setLocation(70, 50);
add(informacion);
fuente1 = new Font("Helvética", Font.ITALIC + Font.ROMAN_BASELINE, 12);
informacion.setFont(fuente1);
informacion.setText(relacion.permisos);
this.setVisible(true);
informacion.setForeground(Color.blue);
informacion.setEditable(false);
addWindowListener(new Cierre());
}
/**
* Método que recibe un evento del mouse en su botón,
* de modo que finaliza la ejecución de la aplicación.
* @param e ActionEvent
*/
public void actionPerformed(ActionEvent e) {
if (e.getSource() == salir) {
System.exit(0);
}
}
}
class Cierre extends WindowAdapter {
/**
* Método que recibe un evento del mouse en la ventana, y se encarga de finalizar la ejecución de la aplicación.
* @param e WindowEvent
*/
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
Para un mejor entendimiento de la aplicación, sobre los requisitos de instalación y funcionamiento, se han creado los manuales concernientes a la instalacion de eclipse, del programa, y la ejecución del programa.
Puede acceder a ellos en la siguiente dirección: