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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!