2010-01-05 29 views
10

Tôi không thể tìm thấy cách dễ dàng để tắt từ bọc trong một JTextPane. Tôi không thể sử dụng JTextArea vì tôi cần các màu khác nhau cho văn bản khác nhau. Tôi có những dòng xấu xí này trở nên tồi tệ hơn khi từ bọc được bật lên.Vô hiệu hóa việc bọc từ trong JTextPane

JTextArea có phương thức setLineWrap(), nhưng tôi không thể tìm thấy nó cho JTextPane. Tại sao?

Trả lời

8

OK, tôi đã tìm thấy một giải pháp dễ dàng. Đặt JTextPane vào giữa một JPanel với một bố cục Border. Sau đó, đặt JPanel vào JScrollPane.

Vì vậy, hệ thống phân cấp như sau:

  • JScrollPane
  • JPanel (w/Border Layout)
  • JTextPane

JScrollPane chứa tất cả mọi thứ dưới nó và JTextPane là bên trong mọi thứ ở trên nó.

Tôi không chắc chắn lý do tại sao tính năng này hoạt động nhưng thực tế.

+3

Tôi nghĩ lý do là vì khi khung văn bản nằm trong một bảng có BorderLayout (là trung tâm) nằm trong ScrollPane, kích thước ưa thích của nó tăng lên bất cứ nội dung nào yêu cầu (ví dụ: borderlayout cho nó nhiều không gian và vì nó nằm trong một ô cuộn, nó có thể phát triển nhiều như nó muốn, khi nó chỉ nằm trong một bảng hoặc khung trực tiếp, kích thước của nó bị hạn chế bởi kích thước của bảng/khung. JTextPane bắt đầu gói các từ để phù hợp với chúng trong không gian sẵn có (đã được sửa) –

+0

Cũng nói! (Tôi phải đặt thêm từ hoặc SO sẽ không cho phép tôi đăng bình luận này) – User1

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