用RTF实现文本编辑器中对关键字的高亮显示(2)

今天头疼了,脾气很不好,但是还好,昨天在编辑器上出现的问题得到了解决。
如(1)中所说的,对关键字的高亮显示已经完成(虽然我想效率很低吧)。那么下一个问题就是如何在用户进行编辑的时候实时的对关键字进行标记。刚开始的时候,觉得蛮简单的,根本没当回事来考虑,相应JEditorPane的文本改变时间就mo问题了,结果看了一下,JEditorPane没法相应这个事件。所以最后在光标事件(CarteEvents)中来相应。
随之而来的一个问题就是,按照我的那种方式进行标记需要在这个事件响应中重写EditorPane的内容,那么,CaretEvent会被激活,本来这不能算是问题的,在事件相应的时候DisableEvents就可以了,但是不行(可以DisableAWTevent,但是SWING,不行),如果可以,请哪位兄弟告知。所以昨天被郁闷了一天。
最后用的办法,就是在相应事件的时候,先把事件的apater给remove掉,最后在装上,结果证明可行。但是又出现问题,在相应的方法内调用JEditorPane 的setText方法出错,如果是原文没问题,如果文本发生变化,就出错。原因不知,估计与线程之间的start 有关系,解决办法是用了一个多线程内类,用它来setText。
现在看我的这个编辑器,实在是个很拙劣的东西啊.

接下来开始做语法检查,说是语法检查,但是就我看,其实应该是括号匹配问题,因为我读不了.h文件,也没有内建编译器。
继续努力中...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值