[RESOLVIDO]Atribuição

6 respostas
back-endprogramaçãodesenvolvimentojava
R

Boa noite, eu possuo uma aplicação em JFrame cujo a mesma possui 15 jformattedtextfield, e eu gostaria de fazer a soma de cada uma delas e mostrar o resultado em uma outra jformattedtextfield, mas ai vem a questão, se todos os campos estiverem completos ele soma, perfeitamente, mas se não estiver ele da erro de “Empty String”, se alguém puder me dar uma luz nessa questão, eu ficaria muito agradecido.

6 Respostas

J

Tem o método isEditValid().

http://docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html#isEditValid()

R

bom, infelizmente não funcionou, ele continua dando o erro de empty string
vou dar um exemplo do teste que eu estou fazendo
eu preencho o jformattedtextfield 1 e 2, e deixo o 3 sem preencher, é nessa hora que meu problema começa, eu não consigo fazer ele entender que não tem nada la pra ser somado, eu imagino que eu preciso atribuir algum valor pra ele caso não haja nada no campo. Agora se eu deixo os 3 preenchido ele faz a soma sem problemas

S

Os campos que estiverem vazios você ignora, simples assim

R

não é simples assim, e se o usuário final decidir preencher esse campo, eu preciso saber de um meio que ele some um valor zero ou ignore os campos que não estão preenchidos, para não ter problema com o erro “empty string”, e para que some os campos que estão preenchidos

S

Se estiver preenchido, não é “empty String”.

E o que foi que eu disse?
Ignorar os campos vazios, zero não é um campo vazio, logo, não será ignorado.

Exemplo:

double soma = 0;
for (JFormattedTextField tf : meusJFormattedTextFields) {
    String texto = tf.getText().trim();           // pega o texto
    if (!texto.isEmpty()) {                       // se o texto não for vazio
        double valor = Double.parseDouble(texto); // pega o valor
        soma += valor;                            // e soma
    }
}
System.out.printf("Soma: %f%n", soma);            // resultado da soma
R

ta ai uma maneira que eu ainda não havia pensado, valeu mesmo, funcionou perfeitamente
eu não tinha pensado em converter pra String e usar isEmpty(), eu estava convertendo pra double e fazendo a soma direto

Criado 10 de dezembro de 2016
Ultima resposta 11 de dez. de 2016
Respostas 6
Participantes 3