IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[JTextArea ] Définir une zone de texte


Sujet :

Composants Java

  1. #1
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut [JTextArea ] Définir une zone de texte
    Bonjour,
    J'aimerai définir une zone de texte sur 30 Lignes avec un retour chariot automatique...
    J'ai bien tenté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    comment= new javax.swing.JTextArea("",10,10);
    comment.setBounds(200,200,650,500);
    Mais je ne vois aucune différence, si je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    comment= new javax.swing.JTextArea("",5,5);
    comment.setBounds(200,200,650,500);
    Je peux toujours écrire plus loin que la fin de la ligne et faire autant de retour à la ligne...
    J'ai bien cherché dans la Javadoc...mais rien ne m'a sauté aux yeux


    Si quelqu'un a quelques pistes, je suis preneur!

  2. #2
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 72
    Points
    72

  3. #3
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut

    Bon, ca résoud le problème en largeur mais pas en longueur ....
    Mici

  4. #4
    Membre émérite
    Avatar de Ioan
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 737
    Points : 2 999
    Points
    2 999
    Par défaut
    Bonjour,
    C'est pourtant dans la FAQ Comment contraindre la saisie dans un composant texte ?

    Il y a même plusieurs solutions proposées
    Bonne chance.
    @+

  5. #5
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    J'ai déjà vu cet article mais je ne vois pas en quoi ca va m'aider pour limiter le nombre de ligne .....

    Soit j'ai du mal, soit je suis fatigué....


    Katyucha, qui vote pour la solution "j'ai du mal"

  6. #6
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 72
    Points
    72
    Par défaut
    Si par nombre de lignes tu entends le nombre de lignes visibles - donc avec les retours à la ligne simplement déclenchés parce que on arrive au bout du composant, et qui ne correspondent pas à un caractère retour chariot, je ne sais pas comment il faut faire.

    Par contre, s'il s'agit de limiter le nombre de retours chariots caractères, alors le lien dans la FAQ est un bon cheval. Il faudrait en plus y rajouter des considérations sur le javax.swing.text.DocumentFilter.

    Et ne t'inquiète pas trop sur ta fatigue : avec javax.swing.text, TOUT est compliqué.

  7. #7
    Membre émérite
    Avatar de Ioan
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 737
    Points : 2 999
    Points
    2 999
    Par défaut
    Bonjour,
    Si par nombre de lignes tu entends le nombre de lignes visibles - donc avec les retours à la ligne simplement déclenchés parce que on arrive au bout du composant, et qui ne correspondent pas à un caractère retour chariot, je ne sais pas comment il faut faire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	private int getRealLineCount(JTextArea area){
    		int result = 0;
    		try{
    			Font font = area.getFont();
    			FontMetrics fontMetrics = getFontMetrics(font);
    			int fontHeight = fontMetrics.getHeight();
    			int height = area.modelToView(
    							area.getDocument().getEndPosition().getOffset()-1).y;
    			result = height/fontHeight + 1;
    		}catch(Exception e){e.printStackTrace();}
    		return result;
    	}
    Par contre, s'il s'agit de limiter le nombre de retours chariots caractères, alors le lien dans la FAQ est un bon cheval. Il faudrait en plus y rajouter des considérations sur le javax.swing.text.DocumentFilter.
    Le plus simple serait de penser en nombre de caractères :
    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
     
    	private class MonDocument extends PlainDocument{
    		private int maxChars;
    		public MonDocument(int maxChars){
    			this.maxChars = maxChars;
    		}
    		public void insertString(int offs, String str, AttributeSet a)
    											throws BadLocationException{
    			if(getLength()+str.length()>maxChars){
    				Toolkit.getDefaultToolkit().beep();
    			}else{
    				super.insertString(offs,str,a);
    			}
    		}
    	}
    Et ne t'inquiète pas trop sur ta fatigue : avec javax.swing.text, TOUT est compliqué.
    Ouiap c'est vrai
    Bonne chance.
    @+

  8. #8
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    Je regarde ça demain et je vous tiens au courant

    Voui, je pense au Tag résolu si tout is good

    Mici !

  9. #9
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 68
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par vedaer
    Et ne t'inquiète pas trop sur ta fatigue : avec javax.swing.text, TOUT est compliqué.
    Ouiap c'est vrai
    Et quand on a la solution cela paraît plus facile !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Débutant : Définir une condition dans une zone de texte
    Par OlivierC69 dans le forum Access
    Réponses: 5
    Dernier message: 12/08/2006, 00h02
  2. Rafraichissement d'une zone de texte
    Par chabs dans le forum MFC
    Réponses: 1
    Dernier message: 07/05/2005, 18h23
  3. Réponses: 2
    Dernier message: 07/12/2004, 14h09
  4. [HTML] Bloquer l'ecriture d'une zone de texte
    Par bouboussjunior dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/10/2004, 10h57
  5. Réponses: 9
    Dernier message: 26/04/2004, 22h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo