Fórum Formatar campo para telefone #403586
22/06/2011
0
estou criando um form para cadastro e gostaria de saber como eu faço para formatar o campo destinado ao número do telefone, para que ele seja exibido inicial no seguinte formato:
( ) -
ou seja, o campo já exibiria o espaço destinado para o DDD, e assim que o usuário digitasse o telefone as informação ficaria:
(12) 9999-9999
Alguém saberia me dizer como ? Já li varias materias, mas não esta dando certo.
Nilo Souza
Curtir tópico
+ 0Posts
22/06/2011
Nilo Souza
estou criando um form para cadastro e gostaria de saber como eu faço para formatar o campo destinado ao número do telefone, para que ele seja exibido inicial no seguinte formato:
( ) -
ou seja, o campo já exibiria o espaço destinado para o DDD, e assim que o usuário digitasse o telefone as informação ficaria:
(12) 9999-9999
Alguém saberia me dizer como ? Já li varias materias, mas não esta dando certo.
Tentei fazer assim:
1 - Declarei uma variável
MaskFormatter formatoFone;
2- No Custom Creation Code coloquei
new JFormattedTextField(formatoFone);
3- No pre-creation code coloquei:
try {
formatoFone = new MaskFormatter("(##)####-####");
}
catch(Exception erro)
{JOptionPane.showMessageDialog(null,"Não foi possivel setar a mascara para telefone, "+erro); }
Quando testei deu erro:
22/06/2011 20:37:20 treinamento.dao.FornecedorDao addFornecedor GRAVE: null java.sql.DataTruncation: Data truncation at org.firebirdsql.jdbc.field.FBWorkaroundStringField.setString(FBWorkaroundStringField.java:97) at org.firebirdsql.jdbc.field.FBField.setObject(FBField.java:752) at org.firebirdsql.jdbc.AbstractCallableStatement.internalExecute(AbstractCallableStatement.java:429) at org.firebirdsql.jdbc.AbstractCallableStatement.executeUpdate(AbstractCallableStatement.java:341) at treinamento.dao.GenericaDao.executePrepered(GenericaDao.java:72) at treinamento.dao.FornecedorDao.addFornecedor(FornecedorDao.java:32) at treinamento.forms.frmFornecedor.btnConfirmarActionPerformed(frmFornecedor.java:505) at treinamento.forms.frmFornecedor.access$400(frmFornecedor.java:32) at treinamento.forms.frmFornecedor$6.actionPerformed(frmFornecedor.java:347) 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.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at java.awt.Component.show(Component.java:1585) at java.awt.Component.setVisible(Component.java:1537) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:986) at treinamento.forms.frmPrincipal.jmiFornecedorActionPerformed(frmPrincipal.java:177) at treinamento.forms.frmPrincipal.access$100(frmPrincipal.java:17) at treinamento.forms.frmPrincipal$2.actionPerformed(frmPrincipal.java:100) 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.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:809) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:850) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) 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)
Pode me ajudar por favor, estou a dois dias tentando em foruns e lendo postes e não consegui resolver.
Obrigado!
Gostei + 0
22/06/2011
Davi Costa
http://www.facom.ufu.br/~fabiano/Programacao%20Orientada%20a%20Objetos%20I/Aula%20GUI%20em%20Java%20III.pdf
http://javafree.uol.com.br/artigo/863862/JFormattedTextField.html
http://javafree.uol.com.br/topic-868445-Campo-telefone-MaskFormatter-dando-erro.html
Gostei + 0
22/06/2011
Davi Costa
22/06/2011 20:37:20 treinamento.dao.FornecedorDao addFornecedor
GRAVE: null
java.sql.DataTruncation: Data truncation
at org.firebirdsql.jdbc.field.FBWorkaroundStringField.setString(FBWorkaroundStringField.java:97)
at org.firebirdsql.jdbc.field.FBField.setObject(FBField.java:752)
at org.firebirdsql.jdbc.AbstractCallableStatement.internalExecute(AbstractCallableStatement.java:429)
at org.firebirdsql.jdbc.AbstractCallableStatement.executeUpdate(AbstractCallableStatement.java:341)
at treinamento.dao.GenericaDao.executePrepered(GenericaDao.java:72)
at treinamento.dao.FornecedorDao.addFornecedor(FornecedorDao.java:32)
Att Davi
Gostei + 0
23/06/2011
Nilo Souza
Se eu colocar assim:
formatoFone = new MaskFormatter("(##)####-####"); da erro.
Mas se colocar assim:
formatoFone = new MaskFormatter("####-####"); ele salva.
Gostei + 0
23/06/2011
Davi Costa
Mostra a declaração da tabela.
att Davi
Gostei + 0
23/06/2011
Nilo Souza
CREATE TABLE FORNECEDOR ( IDFORN DM_ID NOT NULL, NOME DM_NOME, ENDERECO DM_ENDERECO, NUMERO DM_INTEIRO, COMPLEMENTO DM_COMPLEMENTO, BAIRRO DM_BAIRRO, CIDADE DM_CIDADE, INSC_ESTADUAL DM_INTEIRO, TELEFONE Varchar(20) CHARACTER SET NONE, EMAIL DM_TEXTO, USUARIO_INCLUI DM_INTEIRO, USUARIO_ALTERA DM_INTEIRO, CONSTRAINT PK_FORNECEDOR PRIMARY KEY (IDFORN) );
Gostei + 0
27/06/2011
Dyego Carmo
Se sim , favor fechar o chamado !
Valeu !
Gostei + 0
05/07/2011
Nilo Souza
Gostei + 0
05/07/2011
Davi Costa
vc já debugou e percebeu a diferença entre o que o java envia nas duas opções(com máscara e sem máscara)?
Me tira mais essa dúvida que eu não me lembro... a máscara tá funcionando?
Att Davi
Gostei + 0
05/07/2011
Nilo Souza
Gostei + 0
05/07/2011
Davi Costa
Att Davi
Gostei + 0
06/07/2011
Robson Teixeira
Gostei + 0
06/07/2011
Nilo Souza
Consigo sim, ao preencher o campo o formato esta presenta do jeito que pensei, mas da o problema listado acima.
Gostei + 0
07/07/2011
Davi Costa
Solução tem sim, de cara vc pode deixar a máscara do jeito que vc quer e tratar essa String removendo os dois parenteses "()", isso vc faz molim molim, mas acho que não deva ser a solução ideal. Vai resolver? Vai sim, mas temos que entender pq o banco não está aceitando a máscara que vc realmente quer. Essa sim é a solução ideal.
Por isso insistimos que vc ou debugue ou caso tenha dificuldade em debugar de um System.out.println() nesse valor para ver o que o java tá mandando para o seu banco.
Espero ter elucidado um pouco.
att Davi
Gostei + 0
07/07/2011
Nilo Souza
(##) ####-####, quando digito fica assim: (34) 7877-9877,
debuguei o para o banco esta deste jeito " (34) 7877-9877".
Ai me retornou a mensagem:
Não foi possível realizar a operação:
java.sql.DataTruncation: Data truncation.
Espero ter respondido. Obrigado desde já!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)