Iniciante - Ajuda para converter JTextField em Integer

Ola á alguns dias venho tendo um problema… nao conseguingo converter um campo JFormatedTextField em Integer, ou campos JTextField tb dao o mesmo erro, apesar do erro aparentar ser por causado por campos vazios, isto nao ocorre pois estou preenchendo todos os campos, e mesmo assim este erro perssiste .

Linha de codigo

model.setCnpjForn(Integer.parseInt(tfCnpjForn.getText()));

Erros !

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "11.111.111/1111-11" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:456) at java.lang.Integer.parseInt(Integer.java:497) at fornecedores.ControllerCadForn$AcoesBotoes.actionPerformed(ControllerCadForn.java:51) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6216) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5981) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4583) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2475) at java.awt.Component.dispatchEvent(Component.java:4413) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) CONSTRUÍDO COM SUCESSO (tempo total: 2 minutos 0 segundos) :?:

Amigo, o erro é visível:

11.111.111/1111-11 é um número para você??

Como vc ta salvando no banco CPF/CNPJ?

-Editando…

E outra coisa, mesmo tirando a máscara, vai ficar um numero maior que o permitido para um inteiro.

Abraços!

Ola… este campo em questao trata-se de um campo de cnpj , eu fiz uma mascara nele por isso resultou isso "11.111.111/1111-11 ", no banco de dados este valor é armazenado como inteiro, gostaria entao de saber como faço para obter este valor e converte-lo para int.?

o cpf/cnpj deve ser gravado como CHAR ou VARCHAR ele é muito grande para gravar como inteiro.

1- Você pode mudar o campo cnpj de Integer para Long, pois como te disse, um número de CNPJ é maior que o range de um Inteiro.

2- Antes de setar o número, tire a máscara do campo.

Abraços!

Gstei da dica… vou tentar… aki… então posso usar o mesmo para CEP e Telefone né?

[quote=ajfilho]1- Você pode mudar o campo cnpj de Integer para Long, pois como te disse, um número de CNPJ é maior que o range de um Inteiro.

2- Antes de setar o número, tire a máscara do campo.

Abraços![/quote]

Mas não tem como fazer este procedimento deixando a mascara?

É você mesmo quem gerencia a base de dados? Qual é o banco?

Seria mais prática mudar na tua classe o campo CNPJ de Integer para Long, que não precisaria mexer no banco, mas você pode trocar para CHAR/VARCHAR também, mas terá que mexer no campo da sua tabela.

Abraços!

[quote=rhoribe][quote=ajfilho]1- Você pode mudar o campo cnpj de Integer para Long, pois como te disse, um número de CNPJ é maior que o range de um Inteiro.

2- Antes de setar o número, tire a máscara do campo.

Abraços![/quote]

Mas não tem como fazer este procedimento deixando a mascara?

[/quote]

Se você quizer sim…

Mas seria melhor você salvar sem a máscara para facilitar a consulta no banco.

Pense que vocë quer buscar o CNPJ 11.111.111/1111-11. Se você passar como parametro para a consulta sem a máscara, não vai encontrar resultado nenhum, pois no banco está salvo com a máscara… Entendeu?

Abraços!

Gstei da dica… vou tentar… aki… então posso usar o mesmo para CEP e Telefone né?[/quote]

exato

Ola fico grato a todos pela ajuda mas agora ocorreu o seguinte erro:

fiz mudanças no Bd. e no meu codigo e resolvi transformar tudo em String ao inves de ficar fazendo converções :

model.setNomeForn(String.valueOf(tfRazaoForn.getText())); model.setEndForn(String.valueOf(tfEndForn.getText())); model.setCidForn(String.valueOf(tfCidadeForn.getText())); model.setEmailForn(String.valueOf(tfEmailForn.getText())); model.setNomeVend(String.valueOf(tfNomeVendedor.getText())); model.setUfForn(String.valueOf(cbUf)); model.setCnpjForn(String.valueOf(tfCnpjForn.getText())); model.setTelForn(String.valueOf(tfTelForn.getText())); model.setTelVend(String.valueOf(tfTelVendedor.getText())); model.setCepForn(String.valueOf(tfCepForn.getText())); model.setDiaVizita(String.valueOf(cbDiaVizita)); model.setDiaEntrega(String.valueOf(cbDiaEntrega));

e Agora da dando o seguinte erro

[list]Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at fornecedores.ControllerCadForn$AcoesBotoes.actionPerformed(ControllerCadForn.java:52)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6216)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5981)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[/list]

detalhe eu to com duvida ? como obetenho valor de um JComboBox eu estou fazendo assim

 model.setUfForn(String.valueOf(cbUf));

Algum dos teus textfields está com o valor nulo.

Olha a linha 52.

Abraços!

[quote=rhoribe]detalhe eu to com duvida ? como obetenho valor de um JComboBox eu estou fazendo assim

 model.setUfForn(String.valueOf(cbUf));

seuCombo.getSelectedItem(), se não me engano!

Abraços!

[quote=ajfilho][quote=rhoribe]detalhe eu to com duvida ? como obetenho valor de um JComboBox eu estou fazendo assim

 model.setUfForn(String.valueOf(cbUf));

seuCombo.getSelectedItem(), se não me engano!

Abraços![/quote]

pelo que eu vi aqui o camando fica assim

 String.valueOf(combo.getSelectedItem());

Estou com mais um problema relacionado o BD, mas por hj eu acho que ja basta minhas , postagens, vou tentar resolver aqui soznho caso nao consiga postaria neste mesmo topico amanha.

Mas se alguem podesse me passar algum messenger para facilitar a comuniçação e o esclarecimento de minhas duvidas ficaria grato.