Adicionei dois jFormattedTextField (jTelef e um jDat) no meu frame. criei as máscaras e no evento formComponentShown executo o método Mascara(), mas não acontece nada.
Mas quando eu passo para minha classe o JFormattedTextField, não fica formatado. Será por que eu criei a frame no Netbeans? Pois no exemplo acima está sendo criado todo no main().
R
rsa_tche
Criei o exemplo que você enviou, mas não aparece nada.
packageteste;importjava.text.ParseException;importjavax.swing.JFormattedTextField;importjavax.swing.text.MaskFormatter;publicclassMascaraextendsjavax.swing.JFrame{privateMaskFormatterfTelefone;privateMaskFormatterfData;publicvoidMascara()throwsParseException{initComponents();fTelefone=newMaskFormatter("####-####");fData=newMaskFormatter("##/##/####");jTelef=newJFormattedTextField(fTelefone);jDat=newJFormattedTextField(fData);}@SuppressWarnings("unchecked")// <editor-fold defaultstate="collapsed" desc="Generated Code">privatevoidinitComponents(){jTelef=newjavax.swing.JFormattedTextField();jDat=newjavax.swing.JFormattedTextField();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jTelef.setText("jFormattedTextField1");jDat.setText("jFormattedTextField1");javax.swing.GroupLayoutlayout=newjavax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(127,127,127).addComponent(jTelef,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(layout.createSequentialGroup().addGap(137,137,137).addComponent(jDat,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE))).addContainerGap(154,Short.MAX_VALUE)));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(63,63,63).addComponent(jTelef,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE).addGap(18,18,18).addComponent(jDat,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(179,Short.MAX_VALUE)));pack();}// </editor-fold>/** * @param args the command line arguments */publicstaticvoidmain(Stringargs[]){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newMascara().setVisible(true);}});}// Variables declaration - do not modifyprivatejavax.swing.JFormattedTextFieldjDat;privatejavax.swing.JFormattedTextFieldjTelef;// End of variables declaration}
R
rsa_tche
Outra dúvida:
Quando o Frame aparecer o JFormattedTextField já aparece formatado? ou ele só formata depois que o usuário digitar os dados?