1

JTextPane で水平線要素を作成するにはどうすればよいですか? おそらく View.paint(Graphics) によって描画された長方形で、JTextPane の幅全体をカバーし、任意の高さを持ちます。これらの要素を動的に削除できる必要もあります。

線要素の「Horizo​​ntalLineView」を返すカスタム ビュー ファクトリを備えたカスタム エディター キットを作成することで、これにアプローチしようとしていますが、これはすべて私の頭を少し超えていることを認めなければなりません。たとえば、この Horizo​​ntalLineView の要素を作成するにはどうすればよいですか? これまでのところ、insertString() しか使用していません...そして「addElement」メソッドはどこにもありません...正しい方向へのポインターは素晴らしいでしょう。

別の質問にこっそり入ります: JEditorPane/JTextPane を詳細にカバーしている良い本を推薦できる人はいますか?

4

2 に答える 2

5

または、「styled hr」が必要な場合は、div を回避する必要があります。

JEdi​​torPane は HTML 2.1 のみをサポートし、html 2.1 の hr の属性は noshade と size (スタイルではない) です。

したがって、より派手な外観または 1px サイズの hr には、これを使用します...

<div style=\"height: 1px; font-size:0; background:blue;\"></div>

また

<div style='height: 1px; font-size:0; background:blue;'></div>

ここで、背景は hr の色で、高さは hr のサイズです。font-size:0 属性は重要です。それ以外の場合、JEditor ペインはデフォルトでテキストの折り返しを使用し、height 属性をオーバーライドします。

于 2013-04-23T09:23:57.870 に答える
4

HTML コンテンツが受け入れられる場合は、次のようなことができます。

JTextPane textPane = new JTextPane();
textPane.setContentType("text/html");
textPane.setText("<html>Some Text Above The Line<hr size=5>Some Text Below</html>");
于 2012-10-08T18:18:03.250 に答える