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:
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?
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?