2012-06-15 40 views
2

我有一个JTextArea,在右键单击时突出显示行。尽管我可以实现这一点(using some great help from my previous post),但是我还想要某种切换功能,即如果某行没有突出显示,则右键单击会突出显示,反之亦然。在JTextArea中切换亮点

参照这一点,是可以检查所选择的线路是否已经突出显示或不?评论/建议?

我知道这样做的一个方法是保持所有亮点的轨迹(也许使用HashMap as shown in the example here),但这会稍微增加复杂性,因为我在帮助类中编写此方法,包含这些文本区域的标签。任何其他替代解决方案将是非常有益的(在切换亮点

回答

3

我觉得你有你的答案正确there in the link you provided

只写你自己的类扩展JTextArea其中每个实例将负责存储它的亮点,然后使用自己的类代替。

BTW @nIcE牛伟大的答案(+1那里)。

2

SWTStyledText类。

你可以写一个样式的文本类秋千,实现Document接口,用于跟踪你想要跟踪的亮点和任何其他文本装饰品。这个类将封装确定装饰在方式文本中给定字符位置的方法。