JTextPane 和水平线

n00*_*ter 1 java swing jtextpane

我将如何继续在 JTextPane 中创建水平线元素?只是一个可能由 View.paint(Graphics) 绘制的矩形,它覆盖了 JTextPane 的整个宽度,并且具有任意高度。我还需要能够动态删除这些元素。

我试图通过创建一个自定义编辑器套件来解决这个问题,该套件具有一个自定义视图工厂,它返回行元素的“Horizo​​ntalLineView”...但我必须承认这一切都有点超出了我的想象!例如,我如何为此 Horizo​​ntalLineView 创建元素?到目前为止我只使用过 insertString()...而且我在任何地方都没有看到“addElement”方法...任何指向正确方向的指针都会很棒。

我会偷偷提出另一个问题:任何人都可以推荐一本深入介绍 JEditorPane/JTextPane 的好书吗?

Jan*_*aml 5

或者当您需要“styled hr”时,您需要使用 div 来解决。

JEdi​​torPane 仅支持 HTML 2.1,html 2.1 中 hr 的属性是 noshade 和 size(不是 style)。

所以如果想要更漂亮的外观或 1px 大小的 hr,请使用这个...

<div style=\"height: 1px; font-size:0; background:blue;\"></div>
Run Code Online (Sandbox Code Playgroud)

或者

<div style='height: 1px; font-size:0; background:blue;'></div>
Run Code Online (Sandbox Code Playgroud)

其中背景是 hr 颜色,高度是 hr 尺寸。font-size:0 属性很重要,否则 JEditor 窗格默认使用文本换行,这将覆盖 height 属性。