【发布时间】:2010-06-20 00:45:14
【问题描述】:
编辑 - 简而言之,我正在寻找一种向 JEditorPane 添加左边距的可靠方法(如果您愿意,请继续阅读我遇到的问题)。
我正在尝试在 JEditorPane 中设置一些文本的样式,并且相当成功。我面临的唯一问题是创建边距似乎是不可能的。
基本上,我扩展了 PlainView 并覆盖了 drawUnselectedText 方法。现在我只是让它把文本染成红色并改变字体。我还重写了 drawSelectedText 方法来为文本着色。
无论是否选择文本,无论光标位置等如何,这都能始终如一地工作 - 只要我没有设置边距。
但是,如果我为 JEditorPane 设置边距,则 JEditorPane 仅在大部分时间都有效。唯一不起作用的情况是从任何行的最左侧字符开始进行选择时。在这种情况下,边距会被忽略,所选文本会出现在 JEditorPane 的最左侧。
我知道这是一个非常具体的问题,大多数其他人可能没有经历过,我在网上没有找到任何关于此的内容,但我希望这里有人能提供解决方案。
有什么想法吗?甚至任何可以让我使用其他方法设置边距的东西都会非常有帮助。
【问题讨论】:
-
如果你不扩展
PlainView,它会这样吗? -
没有。如果我只是不覆盖 drawUnselectedText 方法,它的行为也不会那样,所以我认为这是我问题的根源。
标签: java jeditorpane