- - PR -
JTextPaneの行間設定について (Ver1.3.x )
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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-19 14:55
かずです。
お世話になっております。 私も、何が問題なのか把握しきれていないところもあり、 質問の仕方にも問題があると思うのですが、こういった情報が ないと、返事が難しい等、質問の仕方についてもアドバイスが あれば、書き込んでいただけないでしょうかお願いいたします。 |
|
投稿日時: 2005-02-07 13:50
返答にはもう遅い気がしますが。。。
getLineSpacingで取ってみると分かりますが 1以下の値が返って来ます。 これが何かというと、 行内の空白÷字の高さ のようです。 例えば、0.2等の値を指定してみて下さい。 |
1