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 :

[JTextPane] Retour à la ligne


Sujet :

Composants Java

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut [JTextPane] Retour à la ligne
    Bonjour,

    J'ai un soucis avec un JtextPane, c'est que je n'ai pas de retour à la ligne dans celui-ci...

    Je dois dire que ça me gène quand même pas mal puisque je n'ai que la scrollbar horizontale.

    Voir l'image pour le rendu.

    Comment je peux faire pour avoir également la scrollbar verticale ? Car j'ai essayé plein de truc différent et ça ne la met jamais.

    Merci.
    Images attachées Images attachées  

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut
    Si tu veux faire de la mise en forme de ton texte je te conseille de regarder
    JEditorPane.
    Plus simple à mettre en forme !

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    J'ai testé et c'est pareil en fait, je n'ai aucun retour à la ligne vertical :/

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 179
    Par défaut
    Bonjour,

    Je pense que c'est la méthode setLineWrap() que tu cherches.
    Si tu lui passe true, tu devrais obtenir le résultat souhaité.

    [Edit] Oups! Désolé, je n'avais pas vu que c'était pour un JTextPane
    Le lineWrap() ce n'est que pour les JTextArea... Désolé


    Fred

  5. #5
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Je comprend pas très bien ton problème...
    En fait, tu as la scorllbar horizontale parce que ton texte "dépasse" sur la droite (donc, c'est normal), mais pour avoir une scrollbar verticale, il faut que ton texte "dépasse" en bas...
    Donc, je vois pas très bien comment tu peux avoir un texte qui dépasse en bas avec un texte de 2 lignes... Essaye de rajouter plus de lignes de texte..

    Pas sur d'avoir bien saisie le problème...

    Voilà, ++
    Gueritarish

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    Ben en fait le problème, c'est justement la présence de la scrollbar horizontable alors que je n'en veux pas. (Et a la place, avoir une scrollbar verticale si besoin).

    En résumé, au lieu d'avoir une scrollbar horizontale dans mon exemple, il aurait fallu une scrollbar verticale.

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Par défaut un JTextPane wrappe son contenu, tu as donc du faire quelque chose qui fait sauter le linewrap.

    Ajoutes tu directement ton JTextPane dans ton JScrollPane ou mets tu un JPanel entre les deux?

  8. #8
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Citation Envoyé par Takis Voir le message
    Ben en fait le problème, c'est justement la présence de la scrollbar horizontable alors que je n'en veux pas. (Et a la place, avoir une scrollbar verticale si besoin).

    En résumé, au lieu d'avoir une scrollbar horizontale dans mon exemple, il aurait fallu une scrollbar verticale.
    Ah ok, c'est pas du tout le même problème
    Bon, en regardant vite fait sur la Javadoc, je suis tombé sur le tutoriel de Sun sur le composant de Texte. Tu devrais peut-être t'en inspiré. C'est à dire que tu ferais une classe héritant de DocumentFilter et qui gèrerait la taille de l'insertion dans ton JTextPane en fonction de la taille de celui-ci.

    Voilà, c'est une solution vite fait. Il y en a peut-être des meilleures...
    Gueritarish

  9. #9
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    bjr,
    as tu essayé avec
    ??

  10. #10
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    Citation Envoyé par sinok Voir le message
    Ajoutes tu directement ton JTextPane dans ton JScrollPane ou mets tu un JPanel entre les deux?
    Effectivement, ça passe par un JPanel entre les deux étant donné qu'il y a un autre élément que le JEditorPane dans le JScrollPane.

    J'aurais peut-être du le signaler ^^ Cela vient de là ? Une solution pour faire ce que je veux en passant par un Panel intermédiaire ?

    Citation Envoyé par Gueritarish Voir le message
    Ah ok, c'est pas du tout le même problème
    Bon, en regardant vite fait sur la Javadoc, je suis tombé sur le tutoriel de Sun sur le composant de Texte. Tu devrais peut-être t'en inspiré. C'est à dire que tu ferais une classe héritant de DocumentFilter et qui gèrerait la taille de l'insertion dans ton JTextPane en fonction de la taille de celui-ci.

    Voilà, c'est une solution vite fait. Il y en a peut-être des meilleures...
    Gueritarish
    Merci, je regarderai cette "solution" si je n'ai pas d'autre choix

    Citation Envoyé par jojodu31 Voir le message
    bjr,
    as tu essayé avec
    ??
    Oui, aucun changement

  11. #11
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Citation Envoyé par Takis Voir le message
    Effectivement, ça passe par un JPanel entre les deux étant donné qu'il y a un autre élément que le JEditorPane dans le JScrollPane.

    J'aurais peut-être du le signaler ^^ Cela vient de là ? Une solution pour faire ce que je veux en passant par un Panel intermédiaire ?
    En fait il s'agit du workaround usuel pour faire en sorte que les composants texte comme le JTextPane ne fassent pas de linewrap.

    Par contre comment contourner ce workaround, je n'en ai pas la moindre idée...

  12. #12
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    Mouais, je me suis finalement simplifié la vie en ne mettant que l'éditeur dans le JScrollPane.

    (Si jamais quelque à la solution pour mettre plusieurs éléments dans un JScrollPane sans perdre les scrollbars, je suis preneur quand même )

  13. #13
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut
    Citation Envoyé par Takis Voir le message
    Effectivement, ça passe par un JPanel entre les deux étant donné qu'il y a un autre élément que le JEditorPane dans le JScrollPane.

    J'aurais peut-être du le signaler ^^ Cela vient de là ? Une solution pour faire ce que je veux en passant par un Panel intermédiaire ?
    Je ne suis pas sûr mais je coris bien que selon le Layout que tu utilises pour autour de ton JScrollPane ça foncionne bien :
    Pour moi j'avais le même problème que toi avec un FlowLayout et ça fonctionne bien avec un BorderLayout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public MessageGUI() {
    		super();
    		setLayout(new BorderLayout());
    		_MessagesPane = new JPanel();
    		_MessagesPane.setLayout(new BoxLayout(_MessagesPane, BoxLayout.Y_AXIS));
    		_MessagesScroll = createNewScrollPane(_MessagesPane);//creer un JScrollPane pour le _MessagesPane 
    		add(_MessagesScroll,BorderLayout.CENTER);
    	}
    Damien

  14. #14
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Par défaut
    Malheureusement, je ne travaille pas en FlowLayout :/

    Dans mon cas, le JScrollPane n'est pas dans un panel en BorderLayout mais dans JSplitPane.

    Et le panel dans lequel je veux associé un JScrollPane est lui en BorderLayout.

Discussions similaires

  1. Retour à la ligne dans un JTextPane
    Par FredericB dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 12/10/2012, 20h00
  2. [JTextPane] Retour ligne en milieu de mot
    Par Ayok13 dans le forum Composants
    Réponses: 2
    Dernier message: 13/12/2011, 17h25
  3. JTextPane et retour à la ligne
    Par tanguy.L dans le forum Composants
    Réponses: 2
    Dernier message: 19/04/2009, 12h47
  4. JTextPane: retour à la ligne sans changement de paragraphe
    Par The Rock dans le forum Composants
    Réponses: 1
    Dernier message: 24/11/2005, 16h02
  5. [JTextPane] Retour à la ligne
    Par triscorp dans le forum Composants
    Réponses: 2
    Dernier message: 28/10/2004, 09h04

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