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) :
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 JTextArea textArea = new JTextArea(); textArea.setLineWrap(true); // retour ligne entre 2 mots textArea.setWrapStyleWord(true); // retour ligne au milieu d'un mot
ç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....
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());
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); }







Répondre avec citation




Partager