bonjour tout le monde,
je voudrais faire une classe qui hérite du JTextField, et je voudrais redéfinir la méthode qui écrive (dessine ?) le texte, le problème c'est que je ne la connais pas. est-ce la méthode paint ou une autre ?
merci d'avance.
Version imprimable
bonjour tout le monde,
je voudrais faire une classe qui hérite du JTextField, et je voudrais redéfinir la méthode qui écrive (dessine ?) le texte, le problème c'est que je ne la connais pas. est-ce la méthode paint ou une autre ?
merci d'avance.
salut,
Pour ta question, il aurait sympa de chercher en premier sur la JavaDoc !
Sinon pour les JTextField la méthode pour changer le texte est :
Code:jtf.setText( string );
et ç'aurai été plus sympa de lire la question avant de repondre ;)
J'ai cherché un peu du côté du look'n feel (javax.swing.plaf), mais le problème c'est que c'est une construction à tiroir. Le dessin est découpé en tellement de morceaux (bordure, couleurs pour L&F...), les méthodes sont toutes déléguées à d'autres objets, ça donne le vertige :marteau:
C'est dans les méandres de swing.text, particulièrement dans les méandres de javax.swing.text.View. Et même là il y a encore des méandres de méandres.
arf désolé j'ai effectivement regardé la question trop rapidement :oops:
Sinon je pense aussi que ça doit être vraiment à un niveau très profond du Package text et donc d'autant plus difficile à redéfinir :(
hmmm, c'est pas bon signe ça !! bref si c'est aussi dur je vais essayer de contourner le probleme d'en haut, mais la aussi j'aurai besoin d'un peut d'aide,
je veut qu'un text compononent (jtextfield par ex) n'accepte que des digits, comment peut on faire ça, j'ai vu que c'est possible avec des inputmap mais je voudrais une autre solution si possibe ?
merci d'avance
Bon en fait tu avais mal expliqué le problème, tout le monde s'était orienté sur les méthodes de dessin, ce qui n'a rien à voir.
Dans ton cas il faut soit utiliser un JFormattedTextfield ou encore mieux, utiliser un DocumentListener sur le document de ton jTextField (obtenu par la méthode getDocument())
thank you, je vais utiliser ça, juste une chose sur le site de sun, on dis qu'on ne devrait pas utiliser le documentlistener pour changer le document mais à la place ecrire son propre Document et redefinir le(s) methde(s) insertString et/ou remove.
merci a vous tousCitation:
Document listeners should not modify the contents of the document; The change is already complete by the time the listener is notified of the change. Instead, write a custom document that overrides the insertString or remove methods, or both. See Listening for Changes on a Document for details.