2010-07-09 109 views
27

Có cách nào để tạo văn bản theo chiều ngang ở giữa cho một JTextArea giống như với một JTextField không?Căn giữa văn bản trong một JTextArea hoặc JTextPane - Căn chỉnh văn bản ngang

setHorizontalAlignment(JTextField.CENTER); 

Có cách nào tôi có thể thực hiện điều tương tự với vùng văn bản nhiều dòng không? Tôi không thể tìm thấy một phương pháp cho nó với JTextArea, do đó, có một lựa chọn khác? JTextPane? Nếu vậy, làm thế nào?

Trả lời

55

Bạn cần sử dụng thuộc tính JTextPane và sử dụng. Sau đây nên tập trung tất cả các văn bản:

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

Edit:

định tâm dọc không được hỗ trợ như xa như tôi biết. Dưới đây là một số mã bạn có thể thấy hữu ích: Vertical Alignment of JTextPane

+1

Còn nếu tôi muốn cũng có mã theo chiều dọc thì sao? – Awaken

+0

@Awaken, Xem chỉnh sửa ở trên: – camickr

+0

yup ... nó hoạt động! : D – gumuruh

Các vấn đề liên quan