Bom dia pessoal,
Tenho um JFormattedTextField com máscara: (##) ####-####
Eu gostaria que, por padrão, quando o usuário abrir a janela fique o ‘45’ entre parênteses. Já coloquei na máscara assim: (45) ####-####, mas assim o usuário não consegue apagar o 45 e colocar outro código se ele quiser, isso fica fixo. Preciso que fique por padrão mas que o usuário possa apagar se quiser…
Obrigado!
usar o setText nao funciona???
Não, pois com máscara existe meio que uma atomicidade, isto é, ou fica (55) 5555-5555 ou então fica ( ) - . Não tem como eu fazer um .setText("(45) - ") que ele não aceita!
[code]public class MyPanel extends JFrame {
private JFormattedTextField jcomp1;
private JTextField jcomp2;
public MyPanel() throws ParseException {
MaskFormatter mf = new MaskFormatter("(##) ####.####");
jcomp1 = new JFormattedTextField(mf);
jcomp2 = new JTextField();
setLayout(new GridLayout(2, 1));
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(jcomp2);
add(jcomp1);
jcomp1.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void focusGained(FocusEvent arg0) {
jcomp1.setText("45");
jcomp1.setCaretPosition(5);
}
});
}[/code]
[quote=mauricioadl][code]public class MyPanel extends JFrame {
private JFormattedTextField jcomp1;
private JTextField jcomp2;
public MyPanel() throws ParseException {
MaskFormatter mf = new MaskFormatter("(##) ####.####");
jcomp1 = new JFormattedTextField(mf);
jcomp2 = new JTextField();
setLayout(new GridLayout(2, 1));
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(jcomp2);
add(jcomp1);
jcomp1.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void focusGained(FocusEvent arg0) {
jcomp1.setText("45");
jcomp1.setCaretPosition(5);
}
});
}[/code][/quote]
Eu tinha tentado fazer isso e não deu certo por aquilo que disse sobre todos os caracteres ou nada, mas acho que isso era um problema de programação meu.
Como vi que esse código q vc postou funcionou, dei uma geral no meu código e consegui consertar, ahhahha.
Muito obrigado!!!