Como formatar o campo JTextField
Oi Pessoal.
Estou fazendo um trabalho da faculdade em JAVA, e preciso da ajuda de vocês.
Estou querendo colocar uma mascara no campo JTextField.
Para que fique da seguinte forma, o usuario digita a data e o programa cria as barras /, por exemplo 29/08/2006.
Abraços.
Bárbara Pinheiro
Curtidas 0
Respostas
Fabiano Fernandes
09/04/2009
No lugar do JTextField vc vai precisar usar o JFormattedTextField.
Eu particularmente uso assim ...
Crio um método assim ...
e depois na hora q vc criar o JFormattedTextField vc faz assim:
JFormattedTextField jftfTelefone = new JFormattedTextField((setMascara("(##) ####-####"));
Pronto ... ta ai uma mascara para o Telefone.
isso é um exemplo, agora basta vc implementar de acordo com suas necessidades.
Agora para título de informação:
# = qualquer numero válido
U = qualquer caractere, as letras minusculas são formatadas em maiuscula.
L = qualquer caractere, as letras maiusculas são formatadas em minusculas.
A = qualquer caractere ou numero.
Não sei se ajudei ... mas ta ai uma solução.
:metal:
private MaskFormatter setMascara(String mascara){
MaskFormatter mask = null;
try{
mask = new MaskFormatter(mascara);
}catch(java.text.ParseException ex){}
return mask;
}
GOSTEI 0
Bárbara Pinheiro
09/04/2009
Valeu pela ajuda, deu certinho....
GOSTEI 0
Bárbara Pinheiro
09/04/2009
maneiro viu ..
:!:
GOSTEI 0
Bárbara Pinheiro
09/04/2009
Sera que pode me dar mais uma ajuda???
Estou tentando validar o cpf, ja vi varios codigo mas não sei como fazer...
Segue abaixo o meu codigo...mas sem a valiação de cpf, pq eu não sei....
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.MaskFormatter;
public class funcionario_tela extends JFrame implements ActionListener {
private JButton botao, sair;
private JTextField nome, cidade, estado, email, cargo, login;
private JPasswordField senha;
private JFormattedTextField telefone, endereco, rg, cpf;
public funcionario_tela() {
super(">>>>Cadastro de Funcionários<<<<");
setBounds(50, 50, 600, 400);
Container cp = getContentPane();
cp.setLayout(new GridLayout(12, 10, 3, 1));
cp.add(new Label("Nome: "));
cp.add(nome = new JTextField());
cp.add(new Label("RG: "));
//o JFormattedTextField esta linkado com a função mascara
cp.add(rg = new JFormattedTextField(setMascara("##.###.###-#")));
//************************************************************************
cp.add(new Label("CPF: "));
//o JFormattedTextField esta linkado com a função mascara
cp.add(cpf = new JFormattedTextField(setMascara("###.###.###-##")));
//***** a função abaixo não permite a entrada de letras no campo cpf...
cpf.addKeyListener(new KeyListener(){
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if(!Character.isDigit(c)){
e.consume();
}
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
});
//************************************************************************
cp.add(new Label("Endereço: "));
cp.add(endereco = new JFormattedTextField("favor digitar rua, número e bairro"));
//************************************************************************
//************************************************************************
cp.add(new Label("Telefone: "));
//o JFormattedTextField esta linkado com a função mascara
cp.add(telefone = new JFormattedTextField(setMascara("(##) ####-####")));
//***** a função abaixo não permite a entrada de letras no campo telefone...
telefone.addKeyListener(new KeyListener(){
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if(!Character.isDigit(c)){
e.consume();
}
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
});
//************************************************************************
cp.add(new Label("Cidade: "));
cp.add(cidade = new JTextField());
cp.add(new Label("Estado: "));
cp.add(estado = new JTextField());
cp.add(new Label("Email: "));
cp.add(email = new JTextField());
cp.add(new Label("Cargo: "));
cp.add(cargo = new JTextField());
cp.add(new Label("Login: "));
cp.add(login = new JTextField());
//************************************************************************
//***** o JPasswordField faz a parte de password..
cp.add(new Label("Senha: "));
cp.add(senha = new JPasswordField (6));
//senha.setEchoChar ('#');
//***** o setEchoChar serve para converter de * para #..
// essa função vai limitar o campo senha em apenas 6 caracteres, após isso
//muda para o proximo campo.
senha.addKeyListener(new java.awt.event.KeyAdapter()
{
public void keyTyped(KeyEvent e)
{
pula(e);
}
});
//************************************************************************
cp.add(botao = new JButton("Confirma"));
botao.addActionListener(this);
cp.add(sair = new JButton("Sair"));
sair.addActionListener(this);
botao.setMnemonic('c');
botao.setToolTipText("Clique aqui para confirmar cadastramento");
sair.setMnemonic('s');
sair.setToolTipText("Clique aqui para desistir");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//************************************************************************
//função utilizada para limitar o campo senha e alterar o campo
private void pula(KeyEvent e)
{
//Numero de caracteres que vai aceitar é 6
if(senha.getText().length() == 5)
botao.requestFocus();
else
return;
}
//************************************************************************
//************************************************************************
//esta linkado com JFormattedTextField, para realizar a mascara.
private MaskFormatter setMascara(String mascara){
MaskFormatter mask = null;
try{
mask = new MaskFormatter(mascara);
}catch(java.text.ParseException ex){}
return mask;
}
//************************************************************************
public void actionPerformed(ActionEvent e) {
try {
//ao clicar no botão sair fecha a janela..
if (e.getSource() == sair) {
System.exit(0);
}
//verifica se o campo esta vazio.
//if( (nome.getText().equals("")) || (rg.getText().equals("")) );
}
catch(NumberFormatException nfe) {
}
}
public static void main(String args[])
{
new funcionario_tela().show();
}
}
GOSTEI 0