2010-07-09 729 views
27

¿Hay alguna forma de crear texto centrado horizontalmente para un JTextArea como con un JTextField?Centrar texto en un JTextArea o JTextPane - Alineación de texto horizontal

setHorizontalAlignment(JTextField.CENTER); 

¿Hay alguna manera de lograr lo mismo con un área de texto de varias líneas? No puedo encontrar un método para ello con JTextArea, ¿hay otra opción? JTextPane? ¿Si es así, cómo?

Respuesta

55

Necesita usar un JTextPane y usar atributos. Lo siguiente debe centrar todo el texto:

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

Editar:

centrado vertical no se admite por lo que yo sé. Aquí hay algunos códigos que pueden serle útiles: Vertical Alignment of JTextPane

+1

¿Qué tal si también quisiera tenerlo centrado verticalmente? – Awaken

+0

@Awaken, ver la edición anterior: – camickr

+0

yup ... ¡funciona! : D – gumuruh

Cuestiones relacionadas