Duvida sobre conversão de dados

10 respostas
Rafael_Chaves

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

10 Respostas

drsmachado

Não.

freakazoid

Faça a conversão quando estiver montando seu objeto “X”, simples assim.

abs!

U

Rafael Chaves para as variáveis do tipo Jtextfield vc pode utilizar o método

.getText();
para o JPasswordField pode ser:
//<retornando String>
.getText();
ou
//<retornando char[]>
getPassword();
JCheckbox utiliza
.isSelected();
Rafael_Chaves

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?

U

Posta o erro.

U

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);

drsmachado

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);

Mas a classe X possui 3 strings e 1 campo boolean…

freakazoid

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);
drsmachado
freakazoid:
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);
E por que ele precisa converter? Quantos absurdos ditos para uma coisa tão simples. Considerando
Rafael Chaves:
Nome - JTextfield Login - JTextField Senha - JPasswordField ativo - JCheckbox //e Nome - String Login - String Senha - String ativo - boolean
É 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.
Rafael_Chaves

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

Criado 11 de março de 2013
Ultima resposta 13 de mar. de 2013
Respostas 10
Participantes 4