基本上,我有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
,但不确定为什么第一个示例不起作用。