web-dev-qa-db-fra.com

Centrage du texte dans un JTextArea ou JTextPane - Alignement horizontal du texte

Existe-t-il un moyen de créer du texte centré horizontalement pour un JTextArea comme avec un JTextField?

setHorizontalAlignment(JTextField.CENTER);

Existe-t-il un moyen de réaliser la même chose avec une zone de texte multiligne? Je ne trouve pas de méthode pour cela avec JTextArea, alors y a-t-il une autre option? JTextPane? Si c'est le cas, comment?

29
Awaken

Vous devez utiliser un JTextPane et utiliser des attributs. Les éléments suivants doivent centrer tout le texte:

StyledDocument doc = textPane.getStyledDocument();
SimpleAttributeSet center = new SimpleAttributeSet();
StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
doc.setParagraphAttributes(0, doc.getLength(), center, false);

Éditer:

Pour autant que je sache, le centrage vertical n'est pas pris en charge. Voici un code que vous pourriez trouver utile: Alignement vertical de JTextPane

60
camickr