Comparando Combo com texto Ex.: "VENDAS"

5 respostas
E

Caros,
Estou ficando careca só em quebrar a cabeça com esta bobagem, tenho uma combo com N valores dentre eles a palavra VENDAS, então eu quero testar se o usuario escolher o valor VENDAS na combo o sistema desabilite outra combo e jogue um valor nulo, mas nao funciona. Vejam o que eu estou fazendo de errado:

String combo = (String) cbTipoAtendimento.getSelectedItem();
        //String combo2= "VENDAS";
    
        if (combo == "VENDAS")
             {
                 JOptionPane.showMessageDialog(null, "IF");
                 cbSistema.setSelectedIndex(0);
                 cbSistema.setEnabled(false);
             }
             else
             {   
                cbSistema.setEnabled(true);
                 //cbSistema.setSelectedIndex(0);
                 //JOptionPane.showMessageDialog(null, combo + " ELSE " + combo2);
                 
             }

5 Respostas

N

Elias,

Utilize o método equals:

if (combo.equals("VENDAS"))   
     {   
         JOptionPane.showMessageDialog(null, "IF");   
         cbSistema.setSelectedIndex(0);   
         cbSistema.setEnabled(false);   
     }   
     else   
     {     
        cbSistema.setEnabled(true);   
         //cbSistema.setSelectedIndex(0);   
         //JOptionPane.showMessageDialog(null, combo + " ELSE " + combo2);   
           
     }
hvidal

Melhor ainda, inverta a ordem da comparação:

if ("VENDAS".equalsIgnoreCase(combo))   
...

Assim, se combo for null você não ganha uma exception de presente. :smiley:

Abraços,
Hugo Teixeira

E

Cara, ficou show…
Agora pq ele não conseguia fazer a comparação?

Valeu mesmo pela dica.

hvidal

Porque os objetos String eram diferentes.
Por outro lado, os métodos equals() e equalsIgnoreCase() comparam o conteúdo da String, não o endereço dos objetos.

T

http://www.guj.com.br/posts/list/81628.java#434727

Criado 11 de fevereiro de 2008
Ultima resposta 12 de fev. de 2008
Respostas 5
Participantes 4