Bonjour,
Comment créer un TextBox qui n'accepte que les chiffres seulement?
Merci d'avance.
Bonjour,
Comment créer un TextBox qui n'accepte que les chiffres seulement?
Merci d'avance.
J'ai peur de n'avoir jamais trouve de bonne solution a ce probleme (je n'ai pas fouille dans les methodes non-publiques de la classes).
Generalement je me contente de binder sur rawtext et si le text ne peut pas etre parse en nombre, je verouille les boutons de validation du formulaire et j'affiche une note d'erreur.
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Tu peux voir avec les évènements du clavier et voir si la touche correspond à un chiffre.
Bonjour,
Enfin j'ai trouvé une solution (qui peut être optimisée : faute de temps), qui est basé sur les évènements clavier (suggestion de galien)
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 import javafx.scene.control.TextBox; import javafx.scene.input.KeyEvent; import java.lang.NumberFormatException; import javafx.scene.input.KeyCode; public class IntegerTextBox extends TextBox{ var newString = ""; var keyCode; init{ onKeyTyped = function (e: KeyEvent): Void { try{ /*Si les touches tapees ne sont pas les touches de supression*/ if((KeyCode.VK_BACK_SPACE != this.keyCode)and(KeyCode.VK_DELETE != this.keyCode)){ Integer.parseInt(e.char); //Sauvegarde de la valeur du textbox dans une variable this.newString = this.rawText; } } catch(ee:NumberFormatException){ /*En cas d'exception (caractere non chiffre tape on reaffiche l'ancien text*/ this.selectAll(); this.replaceSelection(this.newString); } } /*Selon la doc d'oracle onKeyTyped ne permet pas de recuperer le code de la touche du clavier donc on la recupere avec l'evenment onKeyPressed */ onKeyPressed = function (e: KeyEvent): Void { this.keyCode = e.code; } } }
Partager