problema con variables estaticas
Estoy realizando una aplicacion en java, utilizando Netbeans IDE 6.8.
Descripcion de mi aplicación:
*En un formulario(jfrm_login) con un campo de texto(jtxtUser), un campo de contraseña() y un boton(jbtnEntrar)
*Cuando el usuario presiona el botón, se ealiza una consulta a una tabla de mi base de datos con los datos de las cajas de texto para obtener a el tipo de usuario que es(Usuario normal o Administrador).
El problema es:
*Al momento de que el usuario presiona dicho boton de Entrar se ejecuta otro formaulario(un MDI) y en este MDI necesito el tipo de usuario para poder habilitar/deshabilitar algunos menús de mi aplicación
*Ya intente almacenar el resultado de mi consulta en una variable estatica en el formulario jfrm_login, pero no he podido rescatar dicho valor en mi MDI.
Dejo aquí mi codigo para que lo examinen y puedan darme una sugerencia de como resolver mi problema.
public class jfrm_login extends javax.swing.JFrame {
controlador.procesos proc=new controlador.procesos();//creando objeto de mi clase para
modelo.bdmanager datos =new modelo.bdmanager();//objeto para las operaciones de base de datos
public static String tipouser="";
//metodo que valida al usuario
public void accesar() throws SQLException
{
String user;
user=this.jtxtUsuario.getText();
// Obtener el password
char passwd[] = this.jpchPassword.getPassword();
String pwd = new String(passwd);
int us=datos.buscar_existente("tbl_usuarios", "NombreUsuario",user);//busca usuario
if(us>0) { //si existe el usuario
int pass=datos.buscar_existente("tbl_usuarios", "Password",pwd );//busca contraseña
if(pass>0) //si existe contraseña
{
vistas.jmdi_principal mdi= new vistas.jmdi_principal();
//obtener el tipo de usuario(normal o administrador)
String tipuser=datos.obtener_campo("Tipousuario", "tbl_usuarios", "NombreUsuario", user);
//asignar el resultadoa la variable estatica
tipouser=tipuser;
//comprobando q la variable estatica fue midificada(si funciona)
System.out.println(tipouser);
mdi.show();
dispose();
}
else
{
JOptionPane.showMessageDialog(null,"Nombre de usuario o contraseña incorrecto"
,"aviso"
,JOptionPane.INFORMATION_MESSAGE);
this.jtxtUsuario.requestFocus();
}
} else {
JOptionPane.showMessageDialog(null,"Nombre de usuario o contraseña incorrecto"
,"aviso"
,JOptionPane.INFORMATION_MESSAGE);
this.jtxtUsuario.requestFocus();
}
}
}
/////////////CODIGO MDI
public class jmdi_principal extends javax.swing.JFrame {
public jmdi_principal() {
initComponents();
setExtendedState(jmdi_principal.MAXIMIZED_BOTH);
vistas.jfrm_login tipousr=new vistas.jfrm_login();//he leido que esto no es necesario,pero probe(sin exito)
System.out.println("tipo_usuario: "+jfrm_login.tipouser);//pero esto deberia funcionar pero no se imprime nada
if(jfrm_login.tipouser.equals("Administrador"))//habilitando/deshabilitando menu
this.jMenu1.setEnabled(false);
}
}
Espero que puedan ayudarme Gracias!!!
- Inicie sesión o regístrese para enviar comentarios