使用 swt 处理按键
Posted
技术标签:
【中文标题】使用 swt 处理按键【英文标题】:Handle key presses using swt 【发布时间】:2011-04-21 23:44:54 【问题描述】:当 CTRL-C 被按下时,我想做 someStuff()。我写了一些代码,但它“不够好”。我能用它做什么?)
//org.eclipse.draw2d.Shape getShape()....
getShape().addKeyListener(new KeyListener()
@Override
public void keyPressed(KeyEvent ke)
@Override
public void keyReleased(KeyEvent ke)
/*if CTRL-C pressed*/
if((ke.getState() & KeyEvent.CONTROL) != 0 && 'c' == ('a' + ke.character - 1))
someStuff();
);
谢谢。
【问题讨论】:
【参考方案1】:试试这个:
getShape().addListener(SWT.KeyUp, new Listener()
public void handleEvent(Event event)
if (event.stateMask == SWT.CTRL && event.keyCode == 'c')
someStuff();
);
【讨论】:
【参考方案2】:尝试使用以下条件来检查 CTRL-C:
public void keyReleased(KeyEvent event)
if (event.getKeyCode() == KeyEvent.VK_C && event.getModifiers() == InputEvent.CTRL_MASK)
someStuff();
【讨论】:
org.eclipse.draw2d.KeyEvent 不包含任何 VK_C 等等。如果我以某种不明显的形式提出问题,我很抱歉。 啊,我的错。那我不知道怎么帮你=/.以上是关于使用 swt 处理按键的主要内容,如果未能解决你的问题,请参考以下文章