Bonjour,
Je fais actuellement une calculatrice pour m'initier au java. J'ai des boutons et un input correspondant aux calculs à effectuer.
J'ai "bind" les boutons de telle sorte que quand j’appuie sur l'un d'eux, le texte du bouton est append à la droite du curseur.
Par exemple, si j'appuie sur '+' de mon clavier, le bouton '+' de la calculatrice se déclenche et ajoute à la droite du curseur de l'input correspondant au calcul, l'opérateur '+'.
Le problème est le suivant : comment totalement désactiver la saisie utilisateur, sans pour autant désactiver l'input (et donc conserver le curseur) ? Actuellement, pour reprendre l'exemple ci-dessus, j'ai deux '+' qui se collent à la droite du curseur car l'input n'est pas désactiver donc il prend l'entrée '+', et le "bind" du bouton + en rajoute un lui aussi. Dans l'idée, le but est de desactiver l'input pour empêcher les utilisateurs de rentrer des caractères non autorisés (genre des lettres, des caractères spéciaux). En sachant aussi que j'accepte certains caractères comme les '!' ou les '^' car ils ont un sens mathématique.
J'ai déjà trouvé des réponses comme désactiver l'input (inutilisable car désactive aussi le curseur), les formatedTextField et les DocumentFilter, mais je ne sais pas trop comment les utiliser dans cette application.
D'avance, merci pour votre aide ! Cordialement, krostar