JTextField Tastendruck Abfangen

Melfis

Aktives Mitglied
Hallo Allerseits,
Ich habe ein kleines Problem mit einem JTextField.

Das TextField soll bei dem Tastendruck "*" kein "*" ins TextField schreiben,
Das sind meine Erfolglosen bemühungen bisher:
Java:
public class SearchField extends JTextField implements MouseListener,KeyListener{

	private JList jl;

	public SearchField(JList jltmp){
	jl=jltmp;

	this.addMouseListener(this);
	this.addKeyListener(this);
	this.getInputMap().remove(KeyStroke.getKeyStroke('/'));
	this.getInputMap().remove(KeyStroke.getKeyStroke('*'));
	this.getActionMap().remove(this.getActionForKeyStroke(KeyStroke.getKeyStroke('*')));
	this.unregisterKeyboardAction(KeyStroke.getKeyStroke('*'));
 }
}
Hat wer einen Tip für mich?
 
Überschreib die Methode aus dem KeyListener, welche für den Tastendruck zuständig ist
und dort fängst du die Taste ab, welche du brauchst.
Es müsste die Methode
Java:
keyPressed(..)
sein
 
Das problem löst sich weder durch den DocumentListener, noch durch KeyPressed,
zumindest wüsste ich nicht wie..

Hab es aber mit einem eigenen Document hinbekommen:
Java:
public class DocMalDurch extends PlainDocument
{
   public void insertString(int offset, String s, AttributeSet attributeSet) throws BadLocationException
    {
	  if(s.equals("*")||s.equals("/"))return;
      super.insertString(offset,s, attributeSet);
    }
}
Java:
...
JTextField tf=new JTextField();
tf.setDocument(new DocMalDurch);
...

Trozdem Danke an alle die sich beteiligt haben
MFG Melfis
 

Zurück
Oben