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 ligne en milieu de mot


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 56
    Par défaut [JTextPane] Retour ligne en milieu de mot
    Bonjour,
    au début j'utilisais un JTextArea, cela me permettait dde faire des retours à la ligne à la fois entre 2 mots mais aussi au milieu d'un mot (les cases contenant les JTextArea étant petites ça m'était bien utile) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    JTextArea textArea = new JTextArea();
    textArea.setLineWrap(true);          // retour ligne entre 2 mots
    textArea.setWrapStyleWord(true);  // retour ligne au milieu d'un mot
    Puis j'ai voulu centrer le texte. M'apercevant que cela est impossible avec un JTextArea j'ai transformé tout cela en JTextPane, le retour à la ligne entre 2 mots se fait tout seul (génial!), j'arrive à centrer, mais la question est : comment activer le retour à la ligne au milieu d'un mot?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    JTextPane textPane = new JTextPane();
    JScrollPane scrollPane = new JScrollPane(textPane);
    scrollPane.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
    scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
     
    StyledDocument doc = textPane.getStyledDocument();	
    MutableAttributeSet attr = new SimpleAttributeSet();
    StyleConstants.setFontFamily(attr, "Arial");
    StyleConstants.setFontSize(attr, 10);
    StyleConstants.setAlignment(attr, StyleConstants.ALIGN_CENTER);
    doc.setParagraphAttributes(0, 0, attr, true);
    textPane.setText(value.toString());
    ça fait un petit moment que je cherche un peu partout dans les forums et la doc mais j'ai du passer à côté car je ne trouve pas....
    Merci d'avance de votre aide =D


    NB : j'ai essayé de paramètrer le JTextPane avec les styles comme dans le tuto officiel de la doc mais pour je ne sais quelle raison il prend bien la police ainsi que la taille mais pas l'alignement centré, pour ça que je suis passé par la solution ci-dessus, certes moins élégante mais qui fontionne (au retour à la ligne près lol), je donne quand même le code si ça peut aider certains :

    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
    16
    17
    18
     
    StyledDocument doc = textPane.getStyledDocument();
    Style def = StyleContext.getDefaultStyleContext().getStyle(StyleContext.DEFAULT_STYLE);
    StyleConstants.setAlignment(def, StyleConstants.ALIGN_CENTER);
    StyleConstants.setFontFamily(def, "Arial");
    StyleConstants.setFontSize(def, 10);
    doc.addStyle("regular", def);
     
    try {
        doc.insertString(doc.getLength(), value.toString(), doc.getStyle("regular"));
    } catch (BadLocationException ble) {
        ble.printStackTrace();
        JOptionPane.showMessageDialog(null,
            "Erreur lors de l'insertion de texte dans le JTextPane" +
            "\nErreur \"getTableCellRendererComponent()\" fonction \"insertString()\" BadLocationException",
            "Erreur fichier",
            JOptionPane.ERROR_MESSAGE);
    }

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 56
    Par défaut
    Yes nickel! Pas encore testé mais au moins je sais que c'est possible, je pensais bien que c'était le cas mais je ne trouvais rien (et pas assez bon en anglais pour chercher les bons termes peut être lol).
    Thx a lot! ^^

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/09/2009, 12h55
  2. [JTextPane] Retour à la ligne
    Par Takis dans le forum Composants
    Réponses: 13
    Dernier message: 22/04/2008, 19h49
  3. JTextPane: retour à la ligne sans changement de paragraphe
    Par The Rock dans le forum Composants
    Réponses: 1
    Dernier message: 24/11/2005, 17h02
  4. [JTextPane] Retour à la ligne
    Par triscorp dans le forum Composants
    Réponses: 2
    Dernier message: 28/10/2004, 10h04
  5. [Writer] Retour ligne
    Par Mister Nono dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 23/01/2004, 16h23

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