Ao testar na IDE NetBeans o meu projeto funciona mas quando "Limpar e contruir" e executo a aplicação nao funciona como na IDE

Atualizei minha versao do netbeans e agora sim esta dando erro ao testar o projeto na ide, esta trazendo um espaço antes do numero Double, vou postar o código desde da captura dos dados na GUI até a inserção de dados no DB.

Observação: já tentei usai a função trim() e não funcionou.

Segue anexado o código que pega o valor que esta no JFormattedTextField

String valorSemFormatarVenda = txtvend.getText();
String valorVenda = valorSemFormatarVenda.trim();
//.replace(",", “.”).replace("R$ “, “”).replace(” ", “”)

    String valorSemFormatarCompra = txtCompra.getText().trim().replace(",", ".").replace("R$ ", "").replace(" ", "");
    String valorCompra = valorSemFormatarCompra.replace(",", ".").replace("R$", "").replace(" ", "");
    
    
    
    JOptionPane.showMessageDialog(null, "Valor venda:" + valorCompra.trim());

galera vou postar o projeto no github e deixar o link aqui para voces estou a quase duas semanas parando tentando resolver isso e não consigo

Estou deixando o link do diretório github do projeto que estou desenvolvendo na pasta dados tem o arquivo de banco de dados caso queiram fazer teste, toda questão esta na hora que vai salvar o editar um registro que ao pegar o valor do campo na GUI vem com o espaço antes do valor Double. Link abaixo:

E se eu lhe contar que não não gerou o espaço que indicou no cadastro dos valores.

É na tela de cadastro de produtos

incrível é só comigo então :frowning:

E no banco está assim.


Estou visualizando um comportamento estranho no FocusLost da sua tela de cadastro de produto.

tente alterar o produto

Cadastrei um novo para você ver.

Duas coisa eu fiz aqui: apaguei a pasta build antes de reconstruir o projeto e comentei as linhas do FocusLost do txtvenda e txtcompra.

no meu retornar a exceção ao tentar salvar ou alterar

Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: " 10.00"

no caso entao o erro esta no FocusLost

Experimente comentar os dois FocusLost e testa novamente.

acabei de fazer isso, e deu certo na hora de salvar, mas na hora de alterar ainda continua, o erro esta sendo em decorrência a como estou formatando o campo monetário.

acredito que seja o NumberFormat que esteja gerando todo esse problema.

Penso que deveria utilizar BigDecimal para valores monetários no seu model de produto.

vou testar e implementar e ver se dar certo

Testei o editar do Produto revertendo o seu código neste ponto

String valorSemFormatarCompra = txtCompra.getText();
String valorCompra = valorSemFormatarCompra.replace(",", ".").replace("R$", "").replace(" ", "");
//        BigDecimal valorCompra = new BigDecimal (valorSemFormatarCompra.replace(",", ".").replace("R$", "").replace(" ", ""));


O preço de compra na última tela é de R$ 18,50. (Colei o print errado, mas já tinha apagado a correta.)

o meu ainda esta lançando a seguinte exceção
Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: Character is neither a decimal digit number, decimal point, nor “e” notation exponential mark.

valeu era por causa do FocusLost vou terei que achar outra forma de colocar o valor moeda no campo de preço compra e preço venda