プロが教える店舗&オフィスのセキュリティ対策術

Windows VISTA 上で JDK1.6.0_01 / JRE1.6.0_01 で Java プログラムを作っております。
javax.swing.JTextPane にて次のようにテキストを描画しているのですが、setLineSpacing と setFirstLineIndent が表示上有効になってくれないようです。

JTextPane pane = new JTextPane();
SimpleAttributeSet defaultAttributeSet = new SimpleAttributeSet();
StyleConstants.setFontSize(defaultAttributeSet, 24);
StyleConstants.setFirstLineIndent(defaultAttributeSet, (float)24);
StyleConstants.setLineSpacing(defaultAttributeSet, (float)24);
StyledDocument doc = pane.getStyledDocument();
doc.insertString(doc.getLength(), "test\ntest", defaultAttributeSet);

getLineSpacing や getFirstLineIndent で見ると defaultAttributeSet に数値はちゃんと設定されています。また、同様に設定している setFontSize は有効で指定したサイズにちゃんと変更できています。コールの順番を変えても変化はありません。また、setLeftIndent や setRightIndent も表示上変化がありませんでした。

上記、何がまずいでしょうか。

A 回答 (1件)

自信ありませんが、


setParagraphAttributes()
でしょうか・・・
http://www.exampledepot.com/egs/javax.swing.text …
http://java.sun.com/products/jfc/tsc/articles/te …
    • good
    • 0
この回答へのお礼

フォローありがとうございます。
うーん、気がつきませんでした。まさにそれでした。
pane.setParagraphAttributes(defaultAttributeSet, true);
を入れることにより、行間やインデントを設定できるようになりました。
ありがとうございました。

お礼日時:2007/06/07 00:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!