Ola amigos,
sou iniciante em java e no fórum, e gostaria que me ajudassem em um probleminha… seguinte:
Tenho um formulario de autenticação onde passo usuario e senha, daí quero passar o que contem nos jTextFields para uma classe, ja tentei get e set … mas na classe retorna null…
obs.: passei os jTextField para Public
sobre 2 jTextFields, onde autentico no banco MySQL:
codigo do form:
public String login = new String(jTextField1.getText());
public String senha = new String(jTextField2.getText());
public void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
ClassConectar auth = new ClassConectar();
auth.setLogin(login);
auth.setSenha(senha);
try{
ClassConectar conecta = new ClassConectar();
conecta.conexao();
}catch (Exception ex) {
ex.printStackTrace();
}
}
código da minha classe:
public class ClassConectar {
public String login;
public String senha;
public String _login;
public String _senha;
public static void main(String[]args){
try{
ClassConectar teste = new ClassConectar();
teste.conexao();
}catch (Exception ex) {
ex.printStackTrace();
}
}
public Connection con = null;
public void conexao()throws SQLException {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/menagerie",getLogin(),getSenha());
if(!con.isClosed()){
System.out.println("Conectado " +
"MySQL server "+ getLogin() +" "+ getSenha() +" ");
}
}
public ClassConectar() {
}
public void setLogin(String _login){
this.login = _login;
}
public void setSenha(String _senha){
this.senha = _senha;
}
public String getLogin(){
return this.login;
}
public String getSenha(){
return this.senha;
}
}
Alguem me dá uma ajuda ??
desde já agradeço senhores,
Felipe
tenta isso
public void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
ClassConectar auth = new ClassConectar();
auth.setLogin(jTextField1.getText());
auth.setSenha(jTextField2.getText());
try{
ClassConectar conecta = new ClassConectar();
conecta.conexao();
}catch (Exception ex) {
ex.printStackTrace();
}
}
deu nada… ainda ta retornando null … não passa para a classe d jeito nenhum…
esse encapsulamento q fiz ta correto mesmo ???
axo que, quando instanciamos a classe para uma new classe, os dados dos jTextFields desaparecem…
estou quebrando a kbeça…
mais alguma luz ??
Att,
Felipe
Estou curioso em saber porque você instancia 2 vezes a mesma classe:
[code] ClassConectar auth= new ClassConectar();
auth.setLogin(login);
auth.setSenha(senha);
try{
ClassConectar conecta= new ClassConectar();
conecta.conexao();
[/code]
Pelo que pude perceber, você esta passando os valores para auth, mas esta querendo usar esses valores em conecta?
Baianage total… hehehe… tava jogando uns watchs no codigo aí fui fazendo umas besteiras com o código…
pelo que testei, não posso instanciar nenhuma vez se eu quiser preservar os dados dos campos !!!
tem algum jeito de passar, sem instanciar ???
desde já agradeço senhores,
Felipe
Isso resolveria? Ve certinho e da um toque ai
[code] public String login = new String(jTextField1.getText());
public String senha = new String(jTextField2.getText());
public void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
ClassConectar auth = new ClassConectar();
auth.setLogin(login);
auth.setSenha(senha);
try{
auth .conexao();
}catch (Exception ex) {
ex.printStackTrace();
}
}
[/code]
foi foi foi…
consegui rodar…
vc tava certo gustavo_apsilva … era só o conecta mesmo…
o codigo certo do botao fica assim:
public void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try{
ClassConectar conecta = new ClassConectar();
conecta.setLogin(jTextField1.getText());
conecta.setSenha(jTextField2.getText());
conecta.conexao();
}catch (Exception ex) {
ex.printStackTrace();
}
}
Valeu e muito obrigado pessoal!
[quote=felipe_thrash]
pelo que testei, não posso instanciar nenhuma vez se eu quiser preservar os dados dos campos !!!
Felipe[/quote]
Não é bem assim.
Você instanciou o objeto na memória uma vez, com o nome de auth, entao fi reservado um espaço em memória para ele e para as variaveis e objetos da classe.
Quando você instanciou com outro nome, (conecta), o objeto auth continua lá, só que você nao tinha os valores dele no objeto conecta, somente no objeto auth, ja que são 2 espaços de memória totalmente distintos.
Valew mesmo!
valew pela explicação… e tb foi bobeira minha ali…
os kras desse forum são lokos!!!
Hail to the Java Developers!