Zeicheneingabe gezielt unterbinden

Status
Nicht offen für weitere Antworten.

diabolik

Aktives Mitglied
Hallo Java-Forum,

und schon wieder habe ich eine Frage.

Wie kann ich gezielt die in ein Textfeld eingegebenen Zeichen abfangen und ggf verwerfen?
Ziel ist es, in einem Textfeld nur eine Zifferneingabe zu ermöglichen.

Habe dazu einen KeyListener eingebunden und folgenden Code ergänzt:

Code:
class myKeyListenerTxtASB implements KeyListener
    {
        public void keyPressed(KeyEvent k){
          int i = k.getKeyCode();
           
                if(i < 48 || i > 57){                     //<<< das sind die wichtigen Zeilen
                      k.setKeyCode(0);
                }  
        }
        public void keyReleased(KeyEvent k){            
                  txtASBKeyEventKeyPressPerformed(k);
        }
        public void keyTyped(KeyEvent k){
            
        }
    }

Unter Visual Basic habe ich das ganze damals so lösen können:


Private Sub txt241_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt241.KeyPress

Dim KeyAscii As Short = Asc(e.KeyChar)

If (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 0

If KeyAscii = 0 Then
e.Handled = True
End If
End Sub




Denke ich hier falsch? Oder nutze ich einfach nur die falschen Möglichkeiten?
 

diabolik

Aktives Mitglied
Ergänzung:

Mit obigem Code funktioniert es nicht. Egal auf welches der 3 Key-Ereignisse ich reagiere...
 

diabolik

Aktives Mitglied
Und wie mache ich das? Bin in Sachen Java leider noch so ziemlich im Anfangsstadium...

Kannst Du mir ein Beispiel hier reinsetzen?
 

diabolik

Aktives Mitglied
Oh Weh. Ich gehöre wohl auch zu den x-Millionen, die die FAQ immer als letzts Hilfsmittel zu Rate ziehen. ;o)

Mal wieder vielen vielen Dank!
Der Link war Gold wert!
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben