Fórum Pegar usuario logado. #402952
13/06/2011
0
tenho o formulario de login com os campos login e senha.
este é meu codigo no botão salvar e esta funcionando.
private void btnConfirmarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if ("".equals(txtNome.getText())) {
JOptionPane.showMessageDialog(this, "Name is requeried");
txtNome.requestFocus();
}
int resp = JOptionPane.showConfirmDialog(this, "Are you sure ?", "Add new Animal", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (resp == 2) {
return;
}
try {
Usuario usr = new Usuario();
Fornecedor Fornecedor= new Fornecedor();
Fornecedor.setIdforn(Integer.parseInt(txtCodigo.getText()));
Fornecedor.setNome(txtNome.getText());
Fornecedor.setEndereco(txtEndereco.getText());
Fornecedor.setNumero(Integer.parseInt(txtNumero.getText()));
Fornecedor.setComplemento(txtComplemento.getText());
Fornecedor.setBairro(txtBairro.getText());
Fornecedor.setCidade(txtCidade.getText());
Fornecedor.setInscEstadual(Integer.parseInt(txtInscricao.getText()));
Fornecedor.setTelefone(txtTelefone.getText());
Fornecedor.setEmail(txtEmail.getText());
Fornecedor.setUsuario(usr.getIdusuario());
Fornecedor.setOpr(opr);
forn.addFornecedor(Fornecedor);
desativar();
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(this, "Erro ao tentar adicionar um fornecedor, corriga os dados "
+ "e tente novamente !");
return;
}
Mas eu gostaria de pegar o usuario logado, ou seja, para entrar no meu sistema eu uso o frmLogin com os campos acima. O problema é que tenho que pegar o usuario logado e passar para a linha
Fornecedor.setUsuario(usr.getIdusuario());
Podem me dar uma ajuda?
Nilo Souza
Curtir tópico
+ 0Posts
14/06/2011
Davi Costa
Esse método setUsuario() recebe um Usuario ou só o id dele? O interessante tb seria que recebesse o Usuario inteiro, lembresse java é orientado a objeto.
att Davi
Gostei + 0
14/06/2011
Nilo Souza
usr.setUsuario(" (O que coloco aqui) " );Gostei + 0
14/06/2011
Davi Costa
Ai vai depender se vc usa jdbc uro ou jpa (hibernate ou outra impelemntação como toplink e por ai vai) para realizar o preenchimento desse usuário que vc vai passar para o fornecedor
att Davi
Gostei + 0
14/06/2011
Nilo Souza
Gostei + 0
15/06/2011
Dyego Carmo
Gostei + 0
15/06/2011
Nilo Souza
Gostei + 0
15/06/2011
Davi Costa
Se não entendeu bem posso te mandar códigos de exemplo para vc ver
att Davi
Gostei + 0
15/06/2011
Nilo Souza
Gostei + 0
15/06/2011
Davi Costa
/**
*
* @author Costa
* @since
*/
public class SingletonUtil {
private static final long serialVersionUID = 1L;
private static SingletonUtil me;
private Usuario usuario;
/**
* Construtor padrão
*
* @author Costa
* @version 1.0,
*/
private SingletonUtil(){
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public static SingletonUtil getInstance() {
if (me== null){
me = new SingletonUtil();
}
return me;
}
}
Quando vc precisar chamar ou setar esse usuario basta fazer SingletonUtil.getInstance().getUsuario() ou
SingletonUtil.getInstance().setUsuario(usuario)
Att Davi
Gostei + 0
15/06/2011
Nilo Souza
O codigo abaixo ficaria conforme abaixo. Ele mesmo já identificaria o usuario logado ou no frmLogin eu teria
que setar algum valor?
Usuario usr = new Usuario(); Fornecedor Fornecedor= new Fornecedor(); Fornecedor.setIdforn(Integer.parseInt(txtCodigo.getText())); Fornecedor.setNome(txtNome.getText()); Fornecedor.setEndereco(txtEndereco.getText()); Fornecedor.setNumero(Integer.parseInt(txtNumero.getText())); Fornecedor.setComplemento(txtComplemento.getText()); Fornecedor.setBairro(txtBairro.getText()); Fornecedor.setCidade(txtCidade.getText()); Fornecedor.setInscEstadual(Integer.parseInt(txtInscricao.getText())); Fornecedor.setTelefone(txtTelefone.getText()); Fornecedor.setEmail(txtEmail.getText()); Fornecedor.setUsuario(SingletonUtil.getInstance().getUsuario() ); Fornecedor.setOpr(opr); forn.addFornecedor(Fornecedor);
Gostei + 0
15/06/2011
Davi Costa
SingletonUtil.getInstance().setUsuario(usuario)
Lembrando que esse usuário é o que foi preenchido com os atributos do banco
Att Davi
Gostei + 0
17/06/2011
Nilo Souza
Fiz dessa forma:
No frmLogin:
try {
boolean valid = dao.validaUsuarioLogin(txtUsuario.getText(), txtSenha.getText());
//Retorna a mensagem se o valor for falso
if (!valid ){
JOptionPane.showMessageDialog(this,"Login/Password invalid !","Login/Password invalid !",JOptionPane.ERROR_MESSAGE);
return;
}
setVisible(false);
new frmPrincipal().setVisible(true);
SingletonUtil.getInstance().setUsuario(usr);
} catch (SQLException ex) {
Logger.getLogger(frmLogin.class.getName()).log(Level.SEVERE, null, ex);
}
No botão salvar do formulario de fornecedor
try {
Fornecedor Fornecedor= new Fornecedor();
Fornecedor.setIdforn(Integer.parseInt(txtCodigo.getText()));
Fornecedor.setNome(txtNome.getText());
Fornecedor.setEndereco(txtEndereco.getText());
Fornecedor.setNumero(Integer.parseInt(txtNumero.getText()));
Fornecedor.setComplemento(txtComplemento.getText());
Fornecedor.setBairro(txtBairro.getText());
Fornecedor.setCidade(txtCidade.getText());
Fornecedor.setInscEstadual(Integer.parseInt(txtInscricao.getText()));
Fornecedor.setTelefone(txtTelefone.getText());
Fornecedor.setEmail(txtEmail.getText());
Fornecedor.setUsuario(SingletonUtil.getInstance().getUsuario().getIdusuario());
Fornecedor.setOpr(opr);
forn.addFornecedor(Fornecedor);
limpaCampo();
desativar();
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Erro ao tentar adicionar um fornecedor, corriga os dados "
+ "e tente novamente !");
return;
}
No caso em questão setUsuario, pede um inteiro, por isso eu passei o
SingletonUtil.getInstance().getUsuario().getIdusuario()
Gostei + 0
18/06/2011
Davi Costa
e passa um:
SingletonUtil.getInstance().setUsuario(usr);
Mas como usr foi preenchido?
No momento que valida o usuário vc deveria preencher o usuário, vc pode fazer isso de vários modos um modo simples é que esse método retorne um usuário ao invez do boolean ai vc verificar se o usuário é diferente de nulo para validar o login.
Posta sua classe SingletonUtil tb.
att Davi
Gostei + 0
18/06/2011
Nilo Souza
private void btnAcessarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
boolean valid = dao.validaUsuarioLogin(txtUsuario.getText(), txtSenha.getText());
//Retorna a mensagem se o valor for falso
if (!valid ){
JOptionPane.showMessageDialog(this,"Login/Password invalid !","Login/Password invalid !",JOptionPane.ERROR_MESSAGE);
return;
}
setVisible(false);
new frmPrincipal().setVisible(true);
SingletonUtil.getInstance().setUsuario(usr);
} catch (SQLException ex) {
Logger.getLogger(frmLogin.class.getName()).log(Level.SEVERE, null, ex);
}
}
Minha classe singleton (copiei a que me deu)
package treinamento.funcoes;
import treinamento.entidade.Usuario;
/**
*
* @author nsouza
*/
public class SingletonUtil {
private static final long serialVersionUID = 1L;
private static SingletonUtil me;
private Usuario usuario;
/**
* Construtor padrão
*
* @author Costa
* @version 1.0,
*/
private SingletonUtil(){
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public static SingletonUtil getInstance() {
if (me== null){
me = new SingletonUtil();
}
return me;
}
}
Botão confirmar do formulario de fornecedor (Salva os registros no banco)
private void btnConfirmarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if ("".equals(txtNome.getText())) {
JOptionPane.showMessageDialog(this, "Name is requeried");
txtNome.requestFocus();
}
int resp = JOptionPane.showConfirmDialog(this, "Are you sure ?", "Add new Animal", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (resp == 2) {
return;
}
try {
Fornecedor Fornecedor= new Fornecedor();
Fornecedor.setIdforn(Integer.parseInt(txtCodigo.getText()));
Fornecedor.setNome(txtNome.getText());
Fornecedor.setEndereco(txtEndereco.getText());
Fornecedor.setNumero(Integer.parseInt(txtNumero.getText()));
Fornecedor.setComplemento(txtComplemento.getText());
Fornecedor.setBairro(txtBairro.getText());
Fornecedor.setCidade(txtCidade.getText());
Fornecedor.setInscEstadual(Integer.parseInt(txtInscricao.getText()));
Fornecedor.setTelefone(txtTelefone.getText());
Fornecedor.setEmail(txtEmail.getText());
Fornecedor.setUsuario(SingletonUtil.getInstance().getUsuario().getIdusuario());
Fornecedor.setOpr(opr);
forn.addFornecedor(Fornecedor);
limpaCampo(); //Função para limpar os campos no formulario
desativar(); //Função para desativar os campos
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Erro ao tentar adicionar um fornecedor, corriga os dados "
+ "e tente novamente !");
return;
}
}
Gostei + 0
18/06/2011
Davi Costa
private void btnAcessarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
boolean valid = dao.validaUsuarioLogin(txtUsuario.getText(), txtSenha.getText());
//Retorna a mensagem se o valor for falso
if (!valid ){
JOptionPane.showMessageDialog(this,"Login/Password invalid !","Login/Password invalid !",JOptionPane.ERROR_MESSAGE);
return;
}
setVisible(false);
new frmPrincipal().setVisible(true);
SingletonUtil.getInstance().setUsuario(usr);
} catch (SQLException ex) {
Logger.getLogger(frmLogin.class.getName()).log(Level.SEVERE, null, ex);
}
}
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)