Java SwingでHTMLエディタ

前回のつづき。

JEditorPane() で色々な機能を追加している。

HTMLDocument doc = (HTMLDocument)editPane.getDocument();

int start = editPane.getSelectionStart();
Element ele = doc.getCharacterElement(start);
AttributeSet now = ele.getAttributes();

こうやって、現在位置のアトリビュートを、now に取得して、

if ( StyleConstants.isBold(now) ) {
}

既に太文字だったら…という処理をしたのだが、まったく反応してくれない。

editPane().getText("ほげ");

でテキストを与えた場合、通常と処理が異なる部分がある。

editPane().getText("<font color="#FF000">ほげ</font>");

という風に、最初から色をつけておくと、変更できないのだ。
これを何とか、変更できるようにしたのだが…。

その過程で、上記
if ( StyleConstants.isBold(now) ) {
}

が全く反応しないので、またもや壁かよ…。
と思った。

なんとか色々試みたがダメ…。
で、ふと気づいた。

初期値に太文字を与える部分で、 <strong> を使っていたのだ。
これを <b> に変えてやったら、すんなり動いた。

おいおい…。
[PR]
by miries | 2011-02-20 15:41 | 備忘録


<< う、どれだけブログ放置したんだ? Java >>