Formatando telefone usando netbeans

tudo bem pessoal to usando JFormattedField pra formatar um telefone certo esse é o codigo

JFormattedTextField jftfTelefone = new JFormattedTextField((setMascara("(##) ####-####"));

com o metodo

public MaskFormatter setMascara(String mascara)

mas acontece que no netbeans ele inicia o JformattedField em uma area protegida impedindo a alteracao do seu construtor, agora eu nao sei como faço pra passar o metodo como parametro pra o construtor do JformattedField alguem pode me ajudar !! Obrigada

alguem pra me ajudar ?

para funcionar vc deve criar um DefaultFormatterFactory para trabalhar com JFormattedTextField assim como DefaultListModel para trablhar com JList jtable enfim… vamos ao codigo

public void formatartelefone(){
    MaskFormatter formatardata = null;
        try {
            formatartelefone = new MaskFormatter("(##) ####-####");
        } catch (ParseException ex) {
            ex.printStackTrace();
        }
    
      DefaultFormatterFactory novo = new DefaultFormatterFactory(formatartelefone);
      jftfTelefone.setFormatterFactory(novo);
        jl
        
    }

agora va no seu metodo construtor e baixo de todos os seus metodos e adicione

formatartelefone();
diz se resolveu ;))))

Tenho tido o mesmo problema ,tudo isso por causa do netbeans a sua ideia é boa mas ate aqui nao da os resultados desejados tudo por causa da
DefaultFormatterFactory novo = new DefaultFormatterFactory(formatartelefone);
essa é a classe que da um erro tremendo no netbeans que nao consigo localizar os porques.
Akele abraço

poste o o erro …, pq esse exemplo que postei ta funcionando

Ou cria esse codigonoNetBeans e cola em outro editor como o eclipse por exemplo

Para mudar a inicialização de um campo de formulário no NetBeans você deve fazer o seguinte:

  1. Selecione o campo e abra as propriedades do mesmo;
  2. Clique na aba Code;
  3. Abra o contéudo da propriedade “Custom Creation Code”;
  4. Insira o novo código de inicialização, o NetBeans irá atribuir sua variável a ele;
  5. No caso que você citou, você deverá inserir o seguinte:
new JFormattedTextField((setMascara("(##) ####-####"));
  1. Após você salvar, vá até o source do seu formulário que você verá que o NetBeans gerou o seguinte código:
jftfTelefone = new JFormattedTextField((setMascara("(##) ####-####"));

Até mais,

Olhe ai essa imagem:

Não deu certo do jeito que vc falou. mas eu devo ter feito algo errado… olha se é assim mesmo.

Agradeço sua atenção.

Atenciosamente

Fábio Duarte

Tenta:

Nascimento = new JFormattedTextFild(new MaskFormatter("##/##/####"))

obs: Isso vai lancar uma ParserException. Vc resolver isso complementando com o codigo pré/pós criação do componente na aba code. do netbeans.

pré
try
{

pós
catch(ParseException e)
{
e.printStackTrace();
}

espero q isso te ajude ?

cara eu fiz usando mais os recursos do Netbenas e deu certo

Ve se dá aí pra você também (No meu caso o Netbeans é em portugues)

1º Passo:- Clique sobre o JFormattedTextField que deseja criar a máscara.
2º Passo:- Vá na aba Code (Código)
3º Passo:- Clique nos … do “Código de pré-Criação” (deve estar pré-creation no Netbeans em Ingles)
4º Passo:- Adicione o seguinte código:

javax.swing.text.MaskFormatter masktel = null;
try{
    masktel = new javax.swing.text.MaskFormatter(" (##) ####-####");
    masktel.setPlaceholderCharacter('_');
}
catch (java.text.ParseException exc){}

5º Passo:- Clique nos … do “Criação de Código Personalizada” (creio eu que seja Custom Creation Code em ingles)
6º Passo:- Adicione o seguinte código:

new javax.swing.JFormattedTextField(masktel);

Eu fiz isso no meu e deu certo… Tente você também ok!

Colegas,
desculpe ressucitar este tópico. Mas apliquei a ultima resposta relativa ao netbeans e tive o retorno abaixo. Poderiam me ajudar por favor?

21/06/2011 22:32:55 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:501)
	at treinamento.forms.frmFornecedor.access$400(frmFornecedor.java:32)
	at treinamento.forms.frmFornecedor$6.actionPerformed(frmFornecedor.java:343)
	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)