首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jface SourceViewer中处理KeyEvent不尊重doit=false

在jface SourceViewer中处理KeyEvent不尊重doit=false
EN

Stack Overflow用户
提问于 2011-06-24 04:03:40
回答 1查看 336关注 0票数 0

我有一个正在修改的JFace SourceViewer,我想在用户在其中按ENTER键时捕获它,执行一些代码,然后取消ENTER事件的进一步执行。换句话说,我不希望在SourceViewer文本中出现回车符。

我设置了一个KeyListener和一个TraverseListener,它们都可以正确地触发,但是当我设置evt.doit = false时,回车仍然显示在源代码查看器中。

如果我在StyledText小部件中执行相同的操作,它将正常工作。是不是SourceViewer类中发生了覆盖doit=false设置的事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-24 05:16:01

我的猜测是,您的侦听器在侦听器列表中被触发到较晚。请记住,StyledText不是本机控件,因此可以通过在画布上安装侦听器来处理按键、鼠标、绘制、调整大小等操作-请参阅StyledText.installListeners()

如果这个侦听器在您有机会设置doit = false之前运行,那么这个密钥就已经被使用了。

不过,通过连接到SWT.Verify事件,您可能会有更好的更改...

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6459931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档