Olá galera do bem.
Estou com dúvida em um trecho de código que estou fazendo. Sou iniciante em Java e estou com dificuldades nisto.
O problema é o seguinte: Tenho uma telinha em Java que possui os seguintes campos e seus respectivos tipos:
Nome - JTextfield
Login - JTextField
Senha - JPasswordField
ativo - JCheckbox
Criei um botão “Salvar” para que quando Eu clique no mesmo, Ele salve as informações inseridas neste campo em uma classe “X” cuja as variáveis são:
Nome - String
Login - String
Senha - String
ativo - boolean
Também criei um botão “Pesquisar”, que ao clicar aparece na tela as informações que foram salvas nas variáveis da classe “X”.
A pergunta é: Eu preciso converter os dados antes da gravação ou no retorno para tela?
Por favor me deem um help nisso!
Valew
Faça a conversão quando estiver montando seu objeto “X”, simples assim.
abs!
Rafael Chaves para as variáveis do tipo Jtextfield vc pode utilizar o método
[code].getText();
[/code]
para o JPasswordField pode ser:
//<retornando String>
.getText();
ou
//<retornando char[]>
getPassword();
JCheckbox utiliza
.isSelected();
Entendi.
Na hora que Eu gravo os dados para a nova classe, não apresenta erro nenhum. Porém, quando vou setar os campos da tela para exibir os valores das variáveis salvas, é apresentado erro referente ao tipo dos dados.
Como resolvo isso?
Uma solução seria, a classe X conter 3 Strings e uma variável do tipo boolean. Salva as Jtext e Jpass nas strings e o Jcheck no bololean.
Depois só restaurar os valores através do método setText(); e setSelected(boolean);
[quote=urbgames]Uma solução seria, a classe X conter 3 Strings e uma variável do tipo boolean. Salva as Jtext e Jpass nas strings e o Jcheck no bololean.
Depois só restaurar os valores através do método setText(); e setSelected(boolean);[/quote]
Mas a classe X possui 3 strings e 1 campo boolean…
Vc pode fazer a conversão usando o:
boolean java.lang.Boolean.parseBoolean(String s)
String teste1= "false";
boolean b1= Boolean.parseBoolean(teste1);
System.out.println(b1);
String teste2= "true";
boolean b2= Boolean.parseBoolean(teste2);
System.out.println(b2);
[quote=freakazoid]Vc pode fazer a conversão usando o:
boolean java.lang.Boolean.parseBoolean(String s)
[code]
String teste1= "false";
boolean b1= Boolean.parseBoolean(teste1);
System.out.println(b1);
String teste2= "true";
boolean b2= Boolean.parseBoolean(teste2);
System.out.println(b2);
[/code][/quote]
E por que ele precisa converter?
Quantos absurdos ditos para uma coisa tão simples.
Considerando
É muito mais simples fazer assim:
setNome(tfNome.getText());
setLogin(tfLogin.getText());
setSenha(new String(pwSenha.getPassword()));
setAtivo(cbAtivo.isSelected ? true : false);
Onde vocês vão converter?
E, por outro lado:
tfNome.setText(x.getNome());
tfLogin.setText(x.getLogin());
pwSenha.setText(x.getSenha());
cbAtivo.setSelected(x.getAtivo());
Parece-me bem mais simples do que “converter” desnecessariamente.
Então pessoal.
Ainda estou dando cabeçadas no código. São muitas maneiras, mas ainda não estou sabendo como fazer. Vejam a estrutura dos códigos em questão.
//Esta é a classe que criei com as variáveis para armazenar as informações da tela do JFrame.
public class AcessoData
{
JTextField nome;
JTextField login;
JPasswordField senha;
JCheckBox ativo;
}
//Estes são os campos do meu JFrame onde serão digitadas as informações.
private javax.swing.JTextField AcesLog;
private javax.swing.JTextField AcesNome;
private javax.swing.JPasswordField AcesPsw;
private javax.swing.JCheckBox flgAtivo;
Talvez assim seja melhor dar um direcionamento.
Valew