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 – 突出显示用于JTable文件处理的TableCell中的subString


下一篇:c# – WPF组合框在第一个字母输入上自动突出显示