Dúvida jTextfield : Não permitir que o usuário digite uma letra específica

olá, espera que essa dúvida não seja tão boba quanto parece.

eu pesquisei e não achei artigos que falem sobre isso.os que falam caminham para outra direção.

eu preciso que so não seja possível digitar " ’ " , aspas simples.

obrigado

up

Dê uma olhada nos artigos e tutoriais do GUJ. Lá você vai encontrar o seguinte:
Controlando um JTextField
Como limitar caracteres de um JTextField? Você vai aprender a resolver este e outros problemas neste tutorial.

http://www.guj.com.br/articles/29

método: onkeypressed…

verifica se a tecla digitada é alguma dessas ai…se for você apaga o ultimo caractere do campo

eu nunca fiz isso mais acho que da certo

Fiquei curioso e dei uma pesquisada fiz isso ai

package com.citibank.rl.common.web.filter;
import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JTextField;

public class AddingActionCommandActionListenerSample {
  public static void main(String args[]) {
    JFrame frame = new JFrame("E");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    final JTextField textField = new JTextField();
    frame.getContentPane().add(textField, BorderLayout.NORTH);

    KeyListener keyListener = new KeyListener() {
      public void keyPressed(KeyEvent keyEvent) {
      }
      public void keyReleased(KeyEvent keyEvent) {
        int keyCode = keyEvent.getKeyCode();
        if(keyEvent.getKeyText(keyCode).equals("Quote")){
            textField.setText(textField.getText().replaceAll("'", ""));
        }
      }
      public void keyTyped(KeyEvent keyEvent) {
      }
    };
    textField.addKeyListener(keyListener);
    
    frame.setSize(250, 150);
    frame.setVisible(true);
  }
}

[quote=difosal]Fiquei curioso e dei uma pesquisada fiz isso ai

[code]
package com.citibank.rl.common.web.filter;
import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JTextField;

public class AddingActionCommandActionListenerSample {
public static void main(String args[]) {
JFrame frame = new JFrame(“E”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JTextField textField = new JTextField();
frame.getContentPane().add(textField, BorderLayout.NORTH);

KeyListener keyListener = new KeyListener() {
  public void keyPressed(KeyEvent keyEvent) {
  }
  public void keyReleased(KeyEvent keyEvent) {
    int keyCode = keyEvent.getKeyCode();
    if(keyEvent.getKeyText(keyCode).equals("Quote")){
        textField.setText(textField.getText().replaceAll("'", ""));
    }
  }
  public void keyTyped(KeyEvent keyEvent) {
  }
};
textField.addKeyListener(keyListener);

frame.setSize(250, 150);
frame.setVisible(true);

}
}
[/code][/quote]

Eu não vou conseguir testar agora, mas me parece que irá funcionar esse seu código

acredito que resolverá meus problemas =]

bom independente de funcionar bem ou não, muito obrigado por ter escrito o código hehe

Não trate essas coisas por listeners de botão. Eles tem o seguinte problema:
a) Seu comportamento não é multiplataforma;
b) O usuário pode dribla-los facilmente com copy&paste (lembre-se ele pode fazer isso com o mouse);

O correto é usar a interface Document, como o artigo do GUJ explica.

Tópico movido para o fórum de interface gráfica. Por favor, leia com atenção a descrição dos fóruns antes de postar.