Java JTextPane和水平线

Java JTextPane和水平线,java,swing,jtextpane,Java,Swing,Jtextpane,如何在JTextPane中继续创建水平线元素?只是一个可能由View.paint(Graphics)绘制的矩形,它覆盖了JTextPane的整个宽度,并且具有任意高度。我还需要能够动态删除这些元素 我试图通过创建一个自定义编辑器工具包来实现这一点,它有一个自定义视图工厂,它为线条元素返回一个“HorizontalLineView”。。。但我必须承认,这一切都有点让我不知所措!例如,如何创建此HorizontalLineView的元素?到目前为止,我只使用了insertString()。。。我在任

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

我试图通过创建一个自定义编辑器工具包来实现这一点,它有一个自定义视图工厂,它为线条元素返回一个“HorizontalLineView”。。。但我必须承认,这一切都有点让我不知所措!例如,如何创建此HorizontalLineView的元素?到目前为止,我只使用了insertString()。。。我在任何地方都看不到“加法”方法。。。任何指向正确方向的指针都很好


我要偷偷问另一个问题:有人能推荐一本深入介绍JEditorPane/JTextPane的好书吗?

如果HTML内容可以接受,您可以这样做:

JTextPane textPane = new JTextPane();
textPane.setContentType("text/html");
textPane.setText("<html>Some Text Above The Line<hr size=5>Some Text Below</html>");
JTextPane textPane=newjtextpane();
setContentType(“text/html”);
textPane.setText(“行上方的一些文本
下面的一些文本”);
如果HTML内容可以接受,您可以执行以下操作:

JTextPane textPane = new JTextPane();
textPane.setContentType("text/html");
textPane.setText("<html>Some Text Above The Line<hr size=5>Some Text Below</html>");
JTextPane textPane=newjtextpane();
setContentType(“text/html”);
textPane.setText(“行上方的一些文本
下面的一些文本”);
或者当您需要“风格化人力资源”时,您需要与div合作

JEditorPane仅支持HTML2.1,HTML2.1中hr的属性为noshade和size(而非style)

因此,要想获得更漂亮的外观或1px大小的人力资源,请使用此

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


其中背景为hr颜色,高度为hr大小。 字体大小:0属性很重要,否则JEditor窗格默认使用文本换行,这将覆盖高度属性。

或者当您需要“样式化hr”时,您需要使用div

JEditorPane仅支持HTML2.1,HTML2.1中hr的属性为noshade和size(而非style)

因此,要想获得更漂亮的外观或1px大小的人力资源,请使用此

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


其中背景为hr颜色,高度为hr大小。
字体大小:0属性很重要,否则JEditor窗格默认使用文本换行,这将覆盖高度属性。

HTML样式设置是选项吗<例如,hr>标记?HTML样式是一个选项吗<例如,hr>标记?您可以使用例如
来表示高度是的,HTML提供了一个很好且简单的解决方案。不需要和ViewFactorys打交道:)我用一个部门而不是人力资源部工作;JTextPane出于某种原因不想给hr标签上色。您可以使用例如
来表示高度。是的,HTML提供了一个很好且简单的解决方案。不需要和ViewFactorys打交道:)我用一个部门而不是人力资源部工作;由于某种原因,JTextPane不想给hr标签上色。