kra, um JText quando está vazio retorna null mesmo?
ele nao poderia retornar “” (string vazia)?
(não tenho ctz o que retorna um JText vazio…)
sou iniciante este eh meu primeiro post
Cara, pode não ser o ChangeListener o evento necessário.
Procure, então, um evento similar a este.
O que acontece é o seguinte. Quando o texto da sua JTextField for alterado, ele seta como true, certo?
// Dentro do método específico do evento que estamos procurandoif(myTextField.getText().isEmpty()){myButton.setEnabled(false);}else{myButton.setEnabled(true);}
E se a String que for comparada com null realmente for null ela não lança true ela lança um NullPointerException por acessar o método de um objeto null.
Então se quiser ver se ela vazia faça como os amigos ai disseram.
booleanvazia=str.isEmpty();booleanvazia=str.lenght()==0;//Versão antes de existir o isEmpty para classe String
Usar “equals(”")" não é o melhor caminho pois ele faz muitas comparações desnecessarias que mudam o tempo pra executar isso.
É quase insignificante a diferença mas eu já testei em um for fazendo Long.MAX_VALUE comparações e a diferença de execução mudou bastante.
Eu coloquei um actionListener na caixa de texto e toda vez que alguem digita uma tecla ele valida se o tamanho do texto na caixa de texto é maior que zero, se for ele habilita o botao, se nao ele o desabilita.