Filtrer la saisie sur TextBox
Voila dans plusieurs textbox je souhaite limiter la saisie pour quelle n'accepte que des entier positif.
alors j'ai un code qui marche plutôt pas mal, seulement il laisse passer les caracteres suivant, entre autre: &'($.
Mon code (classique c'est dans la javadoc de GWT):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
protected void saisiNumeric(char keyCode,TextBox sender){
if (!Character.isDigit(keyCode)
&& (keyCode != (char) KeyboardListener.KEY_TAB)
&& (keyCode != (char) KeyboardListener.KEY_BACKSPACE)
&& (keyCode != (char) KeyboardListener.KEY_DELETE)
&& (keyCode != (char) KeyboardListener.KEY_ENTER)
&& (keyCode != (char) KeyboardListener.KEY_HOME)
&& (keyCode != (char) KeyboardListener.KEY_END)
&& (keyCode != (char) KeyboardListener.KEY_LEFT)
&& (keyCode != (char) KeyboardListener.KEY_UP)
&& (keyCode != (char) KeyboardListener.KEY_RIGHT)
&& (keyCode != (char) KeyboardListener.KEY_DOWN)) {
sender.cancelKey();
}else{
this.activerbouton(true);
}
} |
Son usage:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
@Override
public void onKeyPress(Widget sender, char keyCode, int modifiers) {
if(sender.getClass().equals(TextBox.class)){
if(sender.equals(IHMBoitier.this.getTextBoxNumBoitier())
||sender.equals(IHMBoitier.this.getTextBoxMotPasse())
||sender.equals(IHMBoitier.this.getTextBoxCodePin())
||sender.equals(IHMBoitier.this.getTextBoxNumSerie())
||sender.equals(IHMBoitier.this.getTextBoxTempsInterTrames())
||sender.equals(IHMBoitier.this.getTextBoxTempsMiseVeille())){
IHMBoitier.this.saisiNumeric(keyCode, (TextBox)sender);
}else{
IHMBoitier.this.activerbouton(true);
}
}
} |
je souhaiterai evidement pouvoir interdire la saisie de ces caracteres! :ccool: