- PR -

JTextPaneの行間設定について (Ver1.3.x )

1
投稿者投稿内容
かず
会議室デビュー日: 2005/01/07
投稿数: 4
投稿日時: 2005-01-19 14:02
お世話になっております。

Java Ver1.3.xのJTextPaneに行間設定をしたいと思い以下のように
サンプルを作成したのですが、行間がまったく設定されません。

「setLineSpacing(attr, 20.5f);」を
「StyleConstants.setSpaceBelow(attr, 20.5f);」
や、
「StyleConstants.setSpaceAbove(attr, 20.5f);」
に変更すると、行の後ろや前にスペースが空くのですが、
「setLineSpacing(attr, 20.5f);」で行間を設定する方法を
お教え願えないでしょうか?

また、上記の理由がわかる方が降りましたらお教えください。

もう一つ、これら複数行の文章を挿入し最後に段落属性を設定しているの
ですが、1行目または3行目だけ属性を取り除く方法は無いでしょうか?

上記3点いずれでも良いのでわかる方が居られましたらお教えください。
よろしくお願いいたします。

以下、サンプル・ソース

import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;

public class LineSpacingTset extends JFrame
{
/** コンストラクタ */
public LineSpacingTset()
{
super("LineSpacingTset");
setBounds(200, 160, 500, 250);

JTextPane jTP = new JTextPane();

SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setLineSpacing(attr, 20.5f);
// JTextPane全体に属性を設定
jTP.setParagraphAttributes(attr, true);

Document doc = jTP.getDocument();
try
{
doc.insertString(0, "あいうえお\n", attr);
doc.insertString(6, "かきくけこ", attr);
}
catch (BadLocationException e)
{
e.printStackTrace();
}


getContentPane().add(jTP, BorderLayout.CENTER);
}
public static void main(String[] args)
{
LineSpacingTset cTester = new LineSpacingTset();
cTester.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cTester.setVisible(true);
}
}
かず
会議室デビュー日: 2005/01/07
投稿数: 4
投稿日時: 2005-01-19 14:55
かずです。
お世話になっております。

私も、何が問題なのか把握しきれていないところもあり、
質問の仕方にも問題があると思うのですが、こういった情報が
ないと、返事が難しい等、質問の仕方についてもアドバイスが
あれば、書き込んでいただけないでしょうかお願いいたします。
こみと
会議室デビュー日: 2005/02/07
投稿数: 1
投稿日時: 2005-02-07 13:50
返答にはもう遅い気がしますが。。。
getLineSpacingで取ってみると分かりますが
1以下の値が返って来ます。
これが何かというと、
 行内の空白÷字の高さ
のようです。
例えば、0.2等の値を指定してみて下さい。
1

スキルアップ/キャリアアップ(JOB@IT)