begin process at 2012 02 13 15:29:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

Nb de caractère dans un JTextArea


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Nb de caractère dans un JTextArea

mercredi 12 juillet 2006 à 11:15:29 | Nb de caractère dans un JTextArea

Cyberdevil

Membre Club
Bonjour tout le monde !

J'ai un petit problème en java....
En fait j'aimerais savoir le nb de caractère qu'il y a dans un JTextArea en "temps réel" ! Alors j'ai ajouter un keyListener à mon JTextArea mais le problème c'est que quand l'événmenet est généré et ben le caractère n'est pas encore ajouté au JTextArea. Donc si je fais un monTextArea.getText().length() et ben il me manquera un caractère. Et si je fais +1 ca pose problème car admettons que lutilisateur appuise sur backspace ou une flèche et ben ça comptabilisera un caractère faux jusqu'au prochain appui... J'espère que quelqu'un à la solution !

Je vous remerci d'avance

Cyberdevil
[ Lien ]
mercredi 12 juillet 2006 à 11:50:01 | Re : Nb de caractère dans un JTextArea

Twinuts

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !

Salut,

regarde du coté de setDocument et redefinie le Document
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/text/Document.html

il y a pas plus temps reel et tu as la maitrise des insertion et supression de char

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
mercredi 12 juillet 2006 à 12:55:27 | Re : Nb de caractère dans un JTextArea

Cyberdevil

Membre Club
Excellent !

Merci beaucoup ça fonctionne parfaitement.

Pour information:
J'ai redéfini la classe PlainDocument et j'ai réimplémenté les méthode removeUpdate et insertString de cette classe. Dans ces méthode j'incrémente une varaible compteur de caractère. Et je met à jour mon label passé en paramètre dans la méthode constructeur de ma nouvelle classe. Ca donne ça:

public class SMSDocument extends PlainDocument {
   
    JLabel lblStatus;
   
    int nbChar=0;
   
    public SMSDocument(JLabel lblStatus)
    {
        super();
        this.lblStatus=lblStatus;
    }
    protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
    {
        nbChar-=chng.getLength();
        updateLabel();
    }
   
    void updateLabel()
    {

      /* Met à jour le label avec le nb de char */
      /* ... */
    }
   
    public void insertString(int offs,
            String str,
            AttributeSet a)
     throws BadLocationException
     {
        super.insertString(offs, str, a);
        nbChar+=str.length();
        updateLabel();
     }
}


Pour utilisé:

JLabel lbl=new JLabel("Nb char: 0");
JTextArea txt=new JTextArea("");
txt.setDocument(lbl);


Et voila :-) !!

Merci encore twinuts pour cette très bonne idée !


Cyberdevil
[ Lien ]
mercredi 12 juillet 2006 à 12:58:12 | Re : Nb de caractère dans un JTextArea

Cyberdevil

Membre Club
Oups une petite erreur s'est infiltrée (apparemment ça fonctionne quand meme mais bon):

La méthode removeUpdate doit être celle la et pas celle du message précédent:

    protected void removeUpdate(AbstractDocument.DefaultDocumentEvent chng)
    {
        super.removeUpdate(chng);
        nbChar-=chng.getLength();
        updateLabel();
    }

J'avais oublié l'appel à la méthode originale !

Cyberdevil
mercredi 12 juillet 2006 à 13:40:42 | Re : Nb de caractère dans un JTextArea

Twinuts

Membre Club Administrateur CodeS-SourceS

Mais de rien


------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA


Cette discussion est classée dans : problème, caractère, nb, jtextarea, ben


Répondre à ce message

Sujets en rapport avec ce message

imprimer le contenu d'un JTextArea en java [ par nouha3002 ] Mon problème c'est que j'arrive pas a imprimer le contenu d'une zone de texte(JTextArea), le lancement de l'imprimente se fait sans aucun problème.Com problème avec JScrollPane + JTextArea [ par xkindool ] bonjour tout le monde, j'ai un petit problème avec mon prog, en effet jevoudrais associer une scrollbar à une zone de texte JTextArea. On m'a conseill ASCII: Problème de détection de la touche entrée dans une chaine de caractère [ par cedzed ] Bonjour,J'ai un problème pour détecter dans une chaine de caractère la touche "Entrée", en effet je fais un fichier CSV et mon fichier est mal découpé Problème avec UndoableEditListener sur Document ! [ par Taranael ] Bonjour bonjour !Je travaille actuellement à refaire le bloc notes de Windows en Java avec quelques améliorations (qui sera plus tard encore amélioré problème de contenu d'une chaine de caractère [ par ramy04804001 ] Salut, je veut s'avoir si le contenu d'une chaine de caractère est déjà existe je fait le code suivant : CODE if (typeDecision.contains(date.getDate Problème pour saisir une chaîne caractère [ par IceFinger ] J'ai besoin d'une bonne interface pour un prog de base de données, je doit donc à l'aide de swing faire des saisies de texte (Je ne peux pas utiliser problème d'affichage du dernier caractère [ par ramy04804001 ] [color=red]Salut[/color] mes amies [^^happy13] j'ai Utilise la fonction indexOf pour récupérer la position de mes balises, et la fonction substring p problème d'affichage du dernier caractère [ par ramy04804001 ] [color=red]Salut[/color] mes amies [^^happy13] j'ai Utilise la fonction indexOf pour récupérer la position de mes balises, et la fonction substring problème lors de la programmation d'un compilateur java [ par dounatt ] Salut, je suis en train de programmer un compilater java. j'ai l'erreur [u]'Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at recuperer mot d'un jtextarea et le modifier [ par mammouch ] Bonjour, je suis debutante en java, et je cherche d'etre plus ou moins dirigée car je suis absolument perdue. J'ai un jTextArea qui contient une liste


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,053 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales