Hola,
Posiblemente, usando el mismo concepto que usaste en la otra clase con los
getters para obtener una variable privada,
gesUsuario.java:
Código:
classUsuario usu = new classUsuario();
public classUsuario getClassUsuario() {
return usu;
}
public boolean encUsuario(String log_usua, String pas_usua){
boolean existe=false;
conexion cn = new conexion();
// classUsuario usu = new classUsuario();
Connection con=cn.getConnection();
try{
sql="select * from sd_usuario where LOG_USUA='"+log_usua+"' and PAS_USUA='"+pas_usua+"'";
stmt=con.createStatement();
rs=stmt.executeQuery(sql);
if(rs.next()){
Principal prin = new Principal();
usu.setNom_usua(rs.getString("NOM_USUA"));
System.out.println("Aqui es donde setee la variable y aqui si se ve: "+usu.getNom_usua()+"... pero deberia verse en las otras clases pues ya esta seteada, el valor ya se le asigno y no lo hace");
/*
Inicio.java
Código:
private void btn_conectarActionPerformed(java.awt.event.ActionEvent evt) {
String codigo=txt_usuario.getText();
String clave=String.copyValueOf(txt_clave.getPassword());
classUsuario u = new classUsuario();
u.setLog_usua(codigo);
u.setPas_usua(clave);
gesUsuario gUsu = new gesUsuario();
if(gUsu.encUsuario(u.getLog_usua(),u.getPas_usua())){
u = gUsu.getClassUsuario();
Principal.nombre=u.getNom_usua();
Principal prin = new Principal();
System.out.println("La variable deberia verse aqui, pero sale NULL: "+u.getNom_usua());
La palabra 'new' significa 'nuevo', cada vez que la usas creas un nuevo objeto vacío de la clase. Los getters tambien sirven para leer valores privados de un objeto. Adicionalmente tienes que comprender que cada vez que llamas a getClassUsuario() en el mismo objeto sin llamar a encUsuario() previamente vas a obtener el mismo classUsuario.
Saludos,