Как я могу отправить пользовательское событие ключа в апплет? - PullRequest
0 голосов
/ 27 января 2019

В основном у меня 2 JFrame окна, одно из которых содержит апплет.Я пытаюсь отправить набранный ключ в апплет.

@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 сам и не уверен, почему первый пример не работает.

...