Comparando Combo com texto Ex.: "VENDAS"

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:

[code] 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);
             
         }[/code]

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

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

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

Valeu mesmo pela dica.

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.

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