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] Insertion Image et Alignement verticale du texte


Sujet :

Composants Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [JTextPane] Insertion Image et Alignement verticale du texte
    Bonjour,

    Lorsque j'ajoute une image dans un JTextPane, le texte qui suit commence dans le prolongement du bord bas de l'image

    On obtient ceux ci:

    xxxxxxxxxxx
    xxxxxxxxxxx
    xx image xx
    xxxxxxxxxxx
    xxxxxxxxxxx mon texte commence ici bla bla
    bla bla bla bla bla bla


    Je n'arrive pas a commencer le texte dans le prolongement du bord haut de l'image pour obtenir ceux-ci

    xxxxxxxxxxx mon texte commence ici bla bla
    xxxxxxxxxxx bla bla bla
    xx image xx bla bla bla
    xxxxxxxxxxx bla bla bla
    xxxxxxxxxxx bla bla bla bla

    Avez vous une piste à me proposer ?
    Merci d'avance

  2. #2
    Membre éprouvé Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Points : 934
    Points
    934
    Par défaut
    Un panel qui contiendrait une image à gauche (sur un label par exemple) et un textpane à droite ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Actuellement j'utilise un seul JTextPane dans lequel j'insère du texte et une image de la façon suivante:

    Pour le texte, celui-ci est associé à un Style que je défini.
    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Style styleDefault = this.addStyle("styleDefault", defaut);
      StyleConstants.setFontFamily(styleDefault, "Verdana");
    Puis j'aoute le texte au StyledDocument avec son Style associé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monStyledDocument.insertString(0,«mon texte, blablabla», styleDefault);
    Pour l'image je défini aussi un Style avec un setIcon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Style styleImg = this.addStyle("styleImg", defaut);
    StyleConstants.setIcon(styleImg, monImageIcon);
    Puis j'ajoute l'icon au StyledDocument
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monStyledDocument.insertString(0, "<image1>",styleImg);
    Dans ce cas de figure, j'obtiens dans le JTextPane le résultat visuel suivant:
    l'image est affichée puis commence le texte dans le prolongement du bord inférieur de l'image.

    xxxxxxxxxxx
    xxxxxxxxxxx
    xx image xx
    xxxxxxxxxxx
    xxxxxxxxxxx mon texte commence ici bla blabla bla bla bla

    Je pense pas me tromper dans la façon d'ajouter une image dans le JtextPane à moins que vous me dites que ce n'est pas comme cela qu'il faut faire.

    Je sais aussi que l'on peut ajouter une image de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JtextPane.insertIcon(monImageIcon)
    Mais dans ce cas l'image n'est pas référencée dans le StyledDocument.

    Un panel qui contiendrait une image à gauche (sur un label par exemple) et un textpane à droite ?
    Merci pour ta proposition fraco.
    C'est une idée à laquelle j'ai pensé.
    Mais si le texte est long, la suite du texte ne sera pas affichée en dessous de l'image mais toujours sur la droite.

    C'est pour cela que je me demande si l'on peut ou pas forcer l'affichage du texte dans le prolongement du bord haut de l'image. Il y a peut être une astuce pour le faire.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Si tu n'as pas besoin de faire d'édition du contenu: http://www.jroller.com/luano/entry/s..._contributions
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Sinok, merci pour ta proposition fort intéressante mais le problème est là : je souhaite aussi éditer le texte.

Discussions similaires

  1. Réponses: 13
    Dernier message: 31/03/2015, 00h56
  2. Aligner verticalement un Text dans un TextBox ou Label
    Par DzBadBoy dans le forum VBA Access
    Réponses: 9
    Dernier message: 29/06/2010, 06h06
  3. Réponses: 0
    Dernier message: 14/03/2010, 19h38
  4. [XL-2003] Aligner verticalement le Text (Caption) d'un Textbox/Label
    Par Mas_Carpone dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/10/2009, 15h38

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