少しSWINGを使用する機会があり、

そのときに困ったことがあったので、

今日はそのことを書きます。



ある特定の文字の色を変えて

表示する機能がついた、

エディタを作成するため、

JTextPaneを使っていました。



JScrollPaneにJTextPaneを

乗せて、文字の色を変えるところまでは

うまくいきました(^○^)


が、しかし、ここで問題が…


自動改行されてる!!!



な、なぜ。。。。

デフォルトの仕様なのかしら…



まずは、JTextPaneのメソッドを

しらべ、自動改行をなくせるか調べました。


な・・・ない(T_T)


JTextAreaにはあるのに、JTextPaneには

ないのですね…



それでは、JTextPaneにセットした

DefaultStyledDocumentにあるのかも…


な・・・ない(T^T)


ではでは、StyleやAttributeSetは

どうでしょう…


google検索で有益な情報が

みつからない(;O;)



このあたりにきて、ようやく次の1文に出会うことが

できました。


インターフェイス Scrollable の 

getScrollableTracksViewportWidth  の文に…



もしや、JTextPaneでは、これが常にtrueを

返しているのですか・・・!?


こうなったら、Javaのコードを直接みるしか!!


JTextAreaとJTextPaneを比較・・・・


JTextPane

JTextPaneにはどうやら、大きさを返す処理は

書かれていない模様…

extendsはJEditorPaneっと…


JTextPaneをみると、

やはりtrueを返しているようですね。


この部分を改良しないと

改行表示は無理そうでした。


JTextArea

JTextAreaでは、いくつか

TextArea内のメンバをもっていて

それで改行するかどうかみていますね。



う~ん・・・・

改行させることを調べるだけで

すごく時間がかかってしまいました(-_-;)



機会があったら、改行できる

JTextPaneを作成してみますね(^▽^)



今日はここまで。

でわでわ( ̄▽ ̄)ノ