防止 HighlightPainter 覆盖 Java 中的选择颜色

Prevent HighlightPainter from overriding selection color in Java

我正在使用 HighlightPainter 更改 JTextArea 中一段文本的背景颜色,如下所示:

HighlightPainter painter = new DefaultHighlightPainter(Color.Yellow);
textarea.getHighlighter().addHighlight(i, j, painter);

它有效,但新的荧光笔覆盖了选择颜色,因此在高亮部分(从 ij)没有显示任何选择。 (我所说的选择是指当您想要 Copy/Paste 文本时所做的事情。)

我是不是用错了 - 如何解决?

好的,一个简单的解决方案是为荧光笔使用透明颜色,即在使用 "rgba" 构造函数时调整颜色的 "a" 值。