[Resolvido]Formatar campo Java

Estou desenvolvendo ma aplicação java para desktop em que coloquei um campo de texto JFormattedTextField em que gostaria que ficasse formatado no formatado da moeda brasileira , mas ao digitar no campo ele ão formata os números que digitei.

Como era pra ficar meu campo.

campo

Mas como fica o campo ao digitar um valor qualquer.

errocampo

Procura por JNumberField, é um componente pronto para trabalhar com valores monetários!
Simples e prático de utilizar, bem melhor que o campo formatado!

Não tinha visto esse ainda, na IDE netbeans não tem esse componente.

É pq ele é um componente externo, deve ser baixado e instalado na IDE, não é um componente nativo.

vc pode me informar onde baixar, não estou encontrando um site para baixar

1 curtida

Segue link para download:

JnumberField Download

1 curtida

Estou curioso, existem outros componentes que podem ser acrescentados na IDE??

Existem N componentes, eu utilizo mais o JNumberField que mandei acima e o JCalendar que trás componentes para trabalhar com datas, o que evita muita reinvenção da roda para validar datas!
Tem um outro componente que utilizo no trabalho que é pra design de layouts, dando ao software uma cara mais amigável pra interagir com o usuário, da a possibilade de trabalhar com menu hamburguer deslizante, definição de temas e etc.
É só procurar pela net que vai encontrar diversos componentes externos que foram criados para facilitar a nossa vida.

1 curtida

obrigado pelo auxilio , por curiosidade , qual o nome do componente que vc utiliza para o design de layouts ?

NefAnimacion, RSButtonIcon e RSPanelSlider são os três únicos componentes personalizados que utilizo para layouts.

obrigado

Eu adicionei o jar do JNumber Field , mas ele não formata meu campo, ao digitar no campo Preço insento ele não formata em valor monetário olha como fica o valor digitado

erro4

Estou tentanto formatar assim quando carrega os componentes ao carregar a aplicação eu aplico isso.

public Cadastro_Produtos() {
    initComponents();

  
    Codigo();
    adicionaCombo();
    	JNumberField formatar= new JNumberField();
            formatar.setText(txtPreco.getText());
            

}

E uma API? qual site podemos baixar?

Você fez errado, está usando ele como dependência, o JNumberField é um componente!
Você deve adicionar ele na sua paleta de componentes para utilza-lo!
Feito isso basta arrastar para o frame igual aos outros componentes nativos.

Consegui colocar obrigado, outra duvida por exemplo quero salvar o valor do campo do Jnumber no banco de dados, ele vai reconhecer como string devido os caracter especial, a virgula e o R$
Tem como eu pegar só o numero do campo Jnumber e salvar ele no banco de dados como double ?

Na verdade o campo trabalha com BigDecimal, o R$ é somente uma máscara!
Você pode recuperar o valor dele como BigDecimal da seguinte forma: jnumberfield.getValue();
E como double: jnumberfield.getValue().doubleValue();

era isso mesmo que eu queria obrigado