欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SWT程序监听keyEvent的古怪问题

程序员文章站 2022-07-12 11:57:01
...
今天碰到一个超级奇怪的问题。

环境:

一个SWT程序,有两个Action注册,他们的Text值分别为;
Copy@Ctrl+C
Paste@Ctrl+V


然后在程序的主编辑器里面,有一个作为In-place的一个Text,Text有一个keyListener


public void keyPressed(KeyEvent evt) {
					boolean ctrl = ((evt.stateMask & SWT.CTRL) != 0);
					char ch = evt.character;
					Text t = (Text) evt.getSource();
					if (ctrl && ch == 3) {
						t.copy();
					} else if (ctrl && ch == 22) {
						t.paste();
					}
					super.keyPressed(evt);
				}
				

问题是:
当我按下CTRL键的时候,keyEvent正常。
当我按下C的时候,keyEvent正常。

当我按下CTRL+C的时候,Text抓取不到这个事件,keyEvent永远都只有keyCoe有值。
SWT程序监听keyEvent的古怪问题
            
    
    博客分类: Eclipse ITeyeCC++C#
解决办法:
删除掉上面Action的CTRL+C / CTRL+V绑定。
Copy
Paste


I don't know WHY!!!!!!!!!!!
  • SWT程序监听keyEvent的古怪问题
            
    
    博客分类: Eclipse ITeyeCC++C#
  • 大小: 16 KB
相关标签: ITeye C C++ C#