JTextArea とかで、String 以外のオブジェクトを表示してもらいたければ Document インターフェースを実装したクラスを渡してやれば良いらしいです。侍でヒープに収まりきらないようなでかいドキュメントを閲覧できるようにするために調査しました。
JTextArea とかにかなり激しいhackを施さないといけないかと思ったけど、工数はかかるものの正攻法で実現できそうです。
javax.swing.text.Document
javax.swing.JTextArea(Document doc)
また、テキストを選択せず、任意の箇所をハイライトさせるには JTextPane と AttributeSet を使えば良いみたい。
侍でログの種類とかに応じて色づけをしたいなーと思い調査。
javax.swing.JTextPane
javax.swing.text.AttributeSet
Swing は奥が深いなー。