Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Clase con devolución de parametro.

Estas en el tema de Clase con devolución de parametro. en el foro de Java en Foros del Web. Buenos días a todos. Estoy realizando una pequeña aplicación Java y he creado una clase genérica de Login (JDialog), en la que el usuario introduce ...
  #1 (permalink)  
Antiguo 16/08/2013, 03:35
 
Fecha de Ingreso: abril-2013
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Clase con devolución de parametro.

Buenos días a todos.

Estoy realizando una pequeña aplicación Java y he creado una clase genérica de Login (JDialog), en la que el usuario introduce su nombre de usuario y password y accepta o cancela, para acceder a la determinadas pantallas de la aplicación.

Ésta pantalla quiero poder utilizarla como plantilla en diferentes proyectos para reutilizar código, por lo que lo único que necesito que haga, es que al llamarla desde cualquier clase, cuando el usuario presione los botones de "Acceptar" o "Cancelar" se cierre la pantalla de Login y me devuelva los valores que haya en los dos jtextfields de "Usuario" y "Password" y recogerlos en la clase principal para validarlos.

No tengo mucha experiencia en Java y no veo claro cómo montarlo.
No sé como podría delvolver valores de variables desde la clase de Login a la clase que la llamó y en ésta poder validar el acceso justo antes de cerrar la pantalla de login o mantenerla abierta hasta que el usuario entre valores de login correctos o cierre ésta pantalla.

Dónde necesito hacer la validación es en la clase que llama a la de login.

Saludos y perdonen el tocho de tema.
  #2 (permalink)  
Antiguo 16/08/2013, 10:55
 
Fecha de Ingreso: abril-2013
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Clase con devolución de parametro.

Nadie se ha encontrado con tener que devolver un valor desde una clase a la que la llamó?
  #3 (permalink)  
Antiguo 16/08/2013, 13:28
Avatar de Krain  
Fecha de Ingreso: julio-2013
Ubicación: Valencia
Mensajes: 60
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Clase con devolución de parametro.

¿No te seria más fácil hacer la validación desde el login?
No se, el código te seguiría valiendo solo con cambiar los nombres de un proyecto a otro.
  #4 (permalink)  
Antiguo 16/08/2013, 17:58
 
Fecha de Ingreso: abril-2013
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Clase con devolución de parametro.

Hola Krain.
Si sería más fácil, pero no quiero que la clase de login esté relacionada con ninguna consulta específica a ninguna base de datos para obtener el logeo. Utilizo varias bd diferentes.
Lo que me trae de cabeza es saber si realmente en java una clase puede devolver valores a la clase principal y cómo. Sé que cuando llamas a una clase le puedes pasar parámetros al constructor pero cuand es al revés no tengo claro como hacerlo.

Saludos y gracias por responder.
  #5 (permalink)  
Antiguo 16/08/2013, 22:27
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 13 años
Puntos: 34
Respuesta: Clase con devolución de parametro.

Una forma podría ser esta:

Código Java:
Ver original
  1. LoginUtility loginUtility = new LoginUtility();
  2.  
  3. /* Metodo bloqueante */
  4. boolean result = loginUtility.login("user", "password");
  5.  
  6. if(result) {
  7. ..................
  8. }
  #6 (permalink)  
Antiguo 17/08/2013, 03:21
 
Fecha de Ingreso: abril-2013
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Clase con devolución de parametro.

Cita:
Iniciado por LuisChavezB Ver Mensaje
Una forma podría ser esta:

Código Java:
Ver original
  1. LoginUtility loginUtility = new LoginUtility();
  2.  
  3. /* Metodo bloqueante */
  4. boolean result = loginUtility.login("user", "password");
  5.  
  6. if(result) {
  7. ..................
  8. }
Hola Luis, llamar a un método de la clase login, desde la principal ya lo había pensado, pero lo que necesito es que los valores de Usuario/Password se devuelvan a la clase principal en el momento en el que el usuario presione el botón "Aceptar" de la pantalla de Login y ésta se cierre si el logueo ha sido correcto.

Siento ser tan pesado, pero debe haber alguna forma de poder enviar estos valores de Login.java a Principal.java.ç
  #7 (permalink)  
Antiguo 17/08/2013, 15:54
Avatar de Krain  
Fecha de Ingreso: julio-2013
Ubicación: Valencia
Mensajes: 60
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Clase con devolución de parametro.

Espero que esto te sirva (no estoy en mi pc así que no he podido probar si esto funciona bien)
En el login
Código Java:
Ver original
  1. if(evt.getSource()== jbtn_entrar)
  2. {
  3.     p.logear(jtxt_usuario.getText(), jpwf_contraseña.getText());

En principal
Código Java:
Ver original
  1. public void logear(String nombre, String contraseña)
  2. {
  3.     Connection conexion = DriverManager.getConnection("ruta", nombre, contraseña);

Si lo de arriba no te gusta porque lo que quieres es deshacerte completamente del login pues lo que se me ocurre que podrias hacer es pedir en el contructor de principal dos String.
Código Java:
Ver original
  1. if(evt.getSource()== jbtn_entrar)
  2. {
  3.     Principal p = new Principal(jtxt_usuario.getText(), jpwf_contraseña.getText());

Código Java:
Ver original
  1. public class Principal extends JFrame implements ActionListener
  2. {
  3.     private String nombre;
  4.     private String contraseña;
  5.    
  6.     public Principal(String nombre, String contraseña)
  7.     {
  8.         this.nombre = nombre;
  9.         this.contraseña = contraseña;
  10.     }
  11.     public void logear()
  12.     {
  13.         try
  14.         {  
  15.             Connection conexion = DriverManager.getConnection("ruta", nombre, contraseña);
  #8 (permalink)  
Antiguo 18/08/2013, 07:29
 
Fecha de Ingreso: abril-2013
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Clase con devolución de parametro.

Cita:
Iniciado por Krain Ver Mensaje
Espero que esto te sirva (no estoy en mi pc así que no he podido probar si esto funciona bien)
En el login
Código Java:
Ver original
  1. if(evt.getSource()== jbtn_entrar)
  2. {
  3.     p.logear(jtxt_usuario.getText(), jpwf_contraseña.getText());

En principal
Código Java:
Ver original
  1. public void logear(String nombre, String contraseña)
  2. {
  3.     Connection conexion = DriverManager.getConnection("ruta", nombre, contraseña);
.
.
.

[/HIGHLIGHT]
Hola Krain.

Me gusta más la segunda opción y la primera me da una alternativa para un futuro, seguro que la aprovecharé. Agradezco mucho tu tiempo y ayuda en éste tema.

Cuando uno está acostumbrado a lenguajes "antiguos" y se pasa a tecnologías más nuevas y potentes como por ejemplo Java, me cuesta cambiar el chip y no tengo muy claro cómo poder hacer cosas que antes tenía muy asumidas en otros lenguajes.

Implementaré las ideas que me has dado.

Saludos y muchas.

También LuisChavezB y quien se ha interesado en leer éste post.

Etiquetas: clase
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:09.