少し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を作成してみますね(^▽^)
今日はここまで。
でわでわ( ̄▽ ̄)ノ