2

我有一个 JTextArea,其中行在右键单击时突出显示。虽然我可以实现这一点(使用我以前的帖子中的一些很大帮助),但是我还想要某种切换功能,即如果一行没有突出显示,右键单击会突出显示它,反之亦然。

参考这个,是否可以检查所选行是否已经突出显示?意见/建议?

我知道这样做的一种方法是跟踪所有亮点(可能使用此处示例中所示的 HashMap ),但这会稍微增加复杂性,因为我在帮助程序类中编写此方法包含这些文本区域的多个选项卡。任何其他替代解决方案都会非常有帮助(如切换亮点

4

2 回答 2

3

我想你在你提供的链接中有你的答案。

只需编写您自己的类,扩展JTextArea每个实例负责存储其亮点的位置,然后改用您自己的类。

BTW @nIcE cOw 很好的答案(+1 那里)。

于 2012-06-15T18:21:30.713 回答
2

SWT有一StyledText堂课。

您可以为 Swing 编写一个样式化的文本类,实现Document接口,跟踪高亮和您想要跟踪的任何其他文本装饰。此类将封装确定样式文本中给定字符位置处的装饰的方法。

于 2012-06-15T18:18:28.203 回答