如何向小程序发送自定义键事件?

时间:2019-01-27 19:53:08

标签: java applet awt keyevent

基本上,我有2个JFrame窗口,其中一个窗口包含一个applet。我正在尝试将键入的密钥发送到applet。

@Override
public void keyReleased(KeyEvent e) {
    dispatchKeyTyped(e.getID(),e.getModifiers(),e.getKeyCode(),e.getKeyChar(),e.getKeyLocation());
}

@Override
public void keyTyped(KeyEvent e) {
    dispatchKeyTyped(e.getID(),e.getModifiers(),e.getKeyCode(),e.getKeyChar(),e.getKeyLocation());
} 

public void dispatchKeyTyped(int id, int modifiers, int keycode, char keychar, int keylocation) {
    applet.getComponent(0).dispatchEvent(new KeyEvent(applet,id,System.currentTimeMillis(),modifiers,keycode,keychar,keylocation));
}

当我尝试执行此操作时,什么也没有发生,则不会发送密钥。如果我通过这样发送KeyEvent来替换代码:

@Override
public void keyReleased(KeyEvent e) {
    dispatchKeyTyped(e);
}

@Override
public void keyTyped(KeyEvent e) {
    dispatchKeyTyped(e);
} 
public void dispatchKeyTyped(KeyEvent event) {
    applet.getComponent(0).dispatchEvent(event);
}

这似乎很好用,但是我想自己创建KeyEvent,但不确定为什么第一个示例不起作用。

0 个答案:

没有答案