Nao esta caindo dentro do laço if.. [RESOLVIDO]

[code] if (jTdescricao.getText() == “” || jTnome.getText() == “” || jTnome.getText() == “” || jTpatrimonio.getText() == “”
|| jTramal.getText() == “” || jTsetor.getText() == “”) {
JOptionPane.showMessageDialog(null, “EXISTEM CAMPOS EM BRANCO, POR FAVOR VERIFIQUE”);
} else {

        try {
            adicionaOS();
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "ERRO INTERNO, POR FAVOR AVISAR SETOR DE INFORMATICA");
        }

        jBbusca.setEnabled(true);
        jBcriaOS.setEnabled(true);
        jBeditaos.setEnabled(true);
        limpaDados();
        desabilitaDados();
    }[/code]

Acho que so com esse codigo ai da pra sacar… me ajudem rs

Oi!

Não se diz “laço do if” mas “bloco do if”.
Sobre sua dúvida, impossível saber porque não cai no if. Além de muitos campos, não sabemos o contéudo deles.
O seu código não valida algo como " " entendeu?

Use isso:

if(string != null && string.trim().isEmpty())

Caso não queira permitir entrada de valores em branco.
Veja se nenhum campo é nulo, null é diferente de “”.

Abraços.

Cara, esse erro todo mundo que está iniciando cai nele…

1º String não são tipos primitivos e sim objetos;

2º Objetos não são comparados com == a menos que você queira saber se ambos apontam para o mesmo endereço de memória;

3º Para comparar Objetos, usamos o método que é herdado da classe mãe de todas as classes (Object) chamado equals();

Para se usar o equals() podemos sobrescrevê-lo para ter um comportamento adequado às nossas necessidades, ou podemos simplesmente usar o Default que no caso da classe String retorna o próprio valor da mesma.

Código retirado da classe String do pacote java.lang JDK6_u22

public boolean equals(Object anObject) {
	if (this == anObject) {
	    return true;
	}
	if (anObject instanceof String) {
	    String anotherString = (String)anObject;
	    int n = count;
	    if (n == anotherString.count) {
		char v1[] = value;
		char v2[] = anotherString.value;
		int i = offset;
		int j = anotherString.offset;
		while (n-- != 0) {
		    if (v1[i++] != v2[j++])
			return false;
		}
		return true;
	    }
	}
	return false;
    }

Tudo isso pra dizer que nesse caso você deve trocar o == pelo .equals("")

abs[] e bons estudos.

maldito e maravilhoso EQUALS funcionou que foi uma beleza… vlww

Maravilhoso mesmo, dá pra fazer muita coisa bacana quando você aprende a usá-loa aseu favor…

Coloca resolvido no título do tópico cara.

Abs [] e sucesso nos estudos.

é nessas horas que a sobrecarga de operadores do C++ se torna útil :wink:
Como não temos isso em Java… o jeito é usar o que API fornece. Usar o equals citado pelo adriano_si disse ou o isEmpty() citado pelo nel.
Mas para o teste que está sendo feito, acho mais adequado o isEmpty.