Swing

正規表現でマッチした文字列のハイライトがずれる問題(2)

http://d.hatena.ne.jp/jawagenjin/20080606/1212679738の続き。 前回の例ではJEditorPaneを使ってテキストをハイライトしていたが、JEditorPaneが使っているDefaultEditorKitのAPIドキュメントにあった下記の記述が答えのようだ。 ドキュメントがメモリー内…

正規表現でマッチした文字列のハイライトがずれる問題

Highlighterと、HilightPainterを使ってエディタ上の文字列から指定された正規表現にマッチした文字をハイライトする処理を書いてみたが、どうも対象の文字列が\r\n(CRLF)を含む場合にハイライトがずれてしまう現象を確認。 正規表現のMatcherは正確なインデ…

Swingで Undo Redo

テキストエディタ等でよくある、Undo(Ctrl-z)とRedo(Ctrl-y)をSwingで実現する。 主な構成要素 javax.swing.undo.UndoableEdit UndoRedoが行える編集作業そのものを表すインターフェース。メソッドundo(),redo()を持つ javax.swing.event.UndoableEditListen…

GroupLayoutの考え方2

http://d.hatena.ne.jp/jawagenjin/20080126/1201345648で書いたGroupLayoutの考え方の具体例。 ポイントは、水平方向のレイアウトを管理するHorizontalGroupは、水平方向のアライン(右詰めか、左詰め)を管理し、垂直方向のレイアウトを管理するVerticalGr…

GroupLayoutの考え方1

NetBeansとかGUIビルダでレイアウトする為に作られて、Java SE 6から標準クラスライブラリの仲間入りをしたSwingのレイアウトマネージャ"GroupLayout"だが、手でコーディングしようとするともうほとんど頭の体操に近い状態で、難しいので自分がわかるように…

Swingって

久しぶりにSwingに触れてみた。 JDK6になって、GroupLayoutとか便利になってるし。 体感速度もかなり速くなってるのでちょっと感動した。 実用域だと思う。