Ele esta funcionado, mas preciso que ele aceite que o campo possa ser editado com as setas direita e esquerda do teclado, so tah permitindo o backspace, consigo adpatar?
Estou chamando assim na minha classe view:
txtTelefone.addKeyListener(
new KeyListener(){
Validacoes validacoes = new Validacoes();
public void keyTyped(KeyEvent e) {
txtTelefone.setText(validacoes.maxLength(txtTelefone.getText(),15));
}
public void keyPressed(KeyEvent e) {
txtTelefone.setText(validacoes.maxLength(txtTelefone.getText(),15));
}
public void keyReleased(KeyEvent e) {
txtTelefone.setText(validacoes.maxLength(txtTelefone.getText(),15));
}
}
);
Alguém sabe me dizer por que desabilita a tecla com a setas da direita e esquerda do teclado?, não permitindo editar um JTextfield, consigo com backspace.
Olha só, eu não curto muito mexer com KeyListeners… Sempre tem problemas com as outras teclas quando utilizamos eles em conjunto com campos de texto… Dê uma olhada neste tópico: http://www.guj.com.br/posts/list/35410.java#188223
Talvez um DocumentListener seja mais adequado…
Valeu, cara pela força, não preciso mudar nada em meus métodos e como ficaria essa parte:
txtTelefone.addKeyListener(
new KeyListener(){
Validacoes validacoes = new Validacoes();
ManipulaProperties prop = new ManipulaProperties();
//contem o tamanho do campo para telefone no properties
int maxLength = Integer.parseInt(prop.carregarConfiguracoes().getProperty("makLengthTelefone"));
public void keyTyped(KeyEvent e) {
txtTelefone.setText(validacoes.maxLength(txtTelefone.getText(),maxLength-1));
}
public void keyPressed(KeyEvent e) {
txtTelefone.setText(validacoes.maxLength(txtTelefone.getText(),maxLength-1));
}
public void keyReleased(KeyEvent e) {
txtTelefone.setText(validacoes.maxLength(txtTelefone.getText(),maxLength-1));
}
}
);
txtTelefone.addKeyListener(
new KeyListener(){
Validacoes validacoes = new Validacoes();
ManipulaProperties prop = new ManipulaProperties();
//contem o tamanho do campo para telefone no properties
int maxLength = Integer.parseInt(prop.carregarConfiguracoes().getProperty("makLengthTelefone"));
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_LEFT || e.getKeyCode() == KeyEvent.VK_RIGHT)
return;
txtTelefone.setText(validacoes.maxLength(txtTelefone.getText(),maxLength-1));
}
public void keyReleased(KeyEvent e) {
}
}
);