Ajuda com uma lógica para uma iniciante

10 respostas
B

Gente, estou em um dilema!
Tenho 2 jtextfield, gostaria de fazer um if mas nao to conseguindo achar funcoes para se o jtextfield TIVER algo escrito nele ele me retornar algo,
preciso disso pq tenho 2 campos e um botao de pesquisa ai na logica queria fazer assim se o jtextfield tiver algo escrito a pesquisa sera por ele, se o otro tiver conteudo a pesquisa sera pelo outro! alguem pode me ajudar nessa logica sou iniciante;~ obrigadinhu!

10 Respostas

luciano.eti

por acaso…if ( textField.getText() == "" )não resolve?!?

R

Nesta situação pode se pode utilizar a comparação direta pois o jTextField1.getText() retorna uma String.
Acredito que neste caso a melhor solução seria:

if(jTextField1.getText().compareTo("")==0){
            JOptionPane.showMessageDialog(null,"jTextField1 VAZIO");
        }

o CompareTo retorna um número inteiro. se for 0 é Verdadeira, se for 1 a comparação é Falsa
O CompareTo é uma função para fazer comparações de Variaveis do tipo String. Não pode ser utilizar para comparar valores nativos do java como int, double, float, etc…
Espero ter Ajudado
Qualquer dúvida só perguntar

A

Para comparar se uma String é vazia tem um método próprio

jTextField.getText().trim().isEmpty();

retorna um boolean, sendo verdadeiro caso esteja vazio e falso se tiver algo escrito.

O método trim() tira os espaços antes e depois da palavra para comparar.

D

A lógica do andre é a mesma que eu uso, pra facilitar pra você só vou organizar como ficaria o if.

if(jTextField2.getText().trim().isEmpty()==false){
     pesquisar(jTextField2);
}else if(jTextField1.getText().trim().isEmpty()==false){
     pesquisar(jTextField1);
}

espero ter ajudado :thumbup:

A

Assim fica ainda mais claro : :D

//if(jTextField2.getText().trim().isEmpty()==false){
if(!jTextField2.getText().trim().isEmpty()){//o sinal de exclamação significa negação
//como o retorno do método isEmpty é um boolean, não é necessária a comparação ==false

     pesquisar(jTextField2);

//}else if(jTextField1.getText().trim().isEmpty()==false){
}else if(!jTextField1.getText().trim().isEmpty()){

     pesquisar(jTextField1);
}
D
andre.almeida:
Assim fica ainda mais claro : :D
//if(jTextField2.getText().trim().isEmpty()==false){
if(!jTextField2.getText().trim().isEmpty()){//o sinal de exclamação significa negação
//como o retorno do método isEmpty é um boolean, não é necessária a comparação ==false

     pesquisar(jTextField2);

//}else if(jTextField1.getText().trim().isEmpty()==false){
}else if(!jTextField1.getText().trim().isEmpty()){

     pesquisar(jTextField1);
}

Tinha deixado com o "==false" pra facilitar mesmo o entendimento dele.
Mas tua observação é boa já q facilita o código ^^
abraço

B

Ola amigos, primeiramente agradeço desde ja a atenção de todos vcs, mas vcs n intenderam direito o que eu quero, ou nao me expressei de acordo veja bem, o que eu quero é exatamente o oposto de um jtextfield.isEmpty, isso e um jtextfield vazio, a minha logica persiste em se o jtextfield tiver algum conteudo, ex²:
tenho jtextfield A, B e preciso efetuar uma pesquisa, se o jtextfield A tiver conteudo e eu clicar no jbutton eu pesquiso pelo A, se o jtextfield B tiver conteudo e eu clicar no jbutton a pesquisa é pelo B!
OBS: nao quero retorno de um jtextfield vazio eu quero se o jtextfield estiver com alguma string(algo escrito nele), mais uma vez muito obrigada pela atencao de todos vcs :***********.

D

Então Biluquinha a função que eu mandei faz isso.

if(!jTextField2.getText().trim().isEmpty()){// Aqui ele valida se o usuário informou algo no jTextField2 é diferente de vazio
      pesquisar(jTextField2);                         //se for executa a função pesquisar() usando o q tem no jTextField2
 }else if(!jTextField1.getText().trim().isEmpty()){  // Se tiver vazio o jTextField2 mas o 1 tiver algo executa a pesquisa com o valor dele.
    pesquisar(jTextField1);  
 }

Basta vc usar essa lógica no event do botão. Espero que tenha ficado claro ^^
Qualquer coisa pergunta ae :smiley:

B

maravilha era isso mesmo muitisimamente obrigado!

D

De nada. Sempre que precisar
:thumbup:

Criado 8 de julho de 2009
Ultima resposta 10 de jul. de 2009
Respostas 10
Participantes 5