2010-01-05 21 views
10

'da Word sarmayı devre dışı bırak JTextPane'de sözcük sarmayı kapatmanın kolay bir yolunu bulamıyorum. JTextArea'yı kullanamıyorum çünkü farklı metinler için farklı renklere ihtiyacım var. Kelime sargısı açıldığında çirkin olan büyük çirkin çizgiler var.JTextPane

JTextArea bir setLineWrap() yöntemine sahiptir, ancak JTextPane için bulamıyorum. Niye ya?

cevap

8

Tamam, kolay bir çözüm buldum. JTextPane'i bir Sınır düzenine sahip bir JPanel'in merkezine yerleştirin. Sonra, JPanel'i bir JScrollPane'e yerleştirin.

Yani, hiyerarşi şöyle görünür:

  • JScrollPane
  • JPanel (Sınır Düzeni/a)
  • JTextPane

JScrollPane altındaki her şeyi içerir ve JTextPane içindedir Yukarıdaki her şey.

Bunun neden çalıştığından emin değilim, ama öyle.

+3

Bunun nedeni, metin bölmesinin bir ScrollPane içindeki BorderLayout (ortada) olan bir panelde bulunması, tercih edilen boyutun içeriğin gerektirdiği her şeye yetişmesidir. İstenirse ve istediği kadar büyüyebildiği için, doğrudan bir panel veya çerçeve içerisindeyken, büyüklüğü, panelin/çerçevenin boyutuna göre sınırlandırıldı. JTextPane, mevcut alana sığdırmak için kelimeleri sarmalamaya başladı (düzeltildi) –

+0

İyi dedim! (Daha fazla kelime koymalıyım veya SO bu yorumu göndermeme izin vermez) – User1