编程语言
首页 > 编程语言> > java – 如何让JEditorPane突出显示一行(而不仅仅是文本)的整个宽度?

java – 如何让JEditorPane突出显示一行(而不仅仅是文本)的整个宽度?

作者:互联网

我正试图让JEditorPane突出显示所显示行的全宽.我试过的所有例子都只突出了文字内容.例如,如果我有这样的内容:

 ---------------------------------
|Here is some text                |
|some more text                   |
 ---------------------------------

在上面的方框表示的JEditorPane中,然后突出显示第一行仅突出显示’Here is some text'(在[和]之间表示).

 ---------------------------------
[Here is some text]               |
|some more text                   |
 ---------------------------------

我想强调JEditorPane的全宽,如下所示:

 ---------------------------------
[Here is some text                ]
|some more text                   |
 ---------------------------------

有没有办法做到这一点?

解决方法:

这似乎不太复杂.我会做到这一点code-challenge.

只需创建自己的自定义荧光笔,扩展DefaultHighlighter.

覆盖paint()方法,只需保持矩形绘制的宽度不变:它将是面板的宽度.

您将在DZone Snippets a complete example中找到:复制并运行它.告诉我这是不是你想要的.它包括textPane.setSelectionColor(new Color(1.0f,1.0f,1.0f,0.0f));另外你在答案中提到.

alt text http://www.freeimagehosting.net/uploads/94a3a990e4.png

标签:java,line,highlighting,jeditorpane
来源: https://codeday.me/bug/20190622/1260837.html