# WakeupOnAWTEvent wird ignoriert!



## Feiadragon (25. Okt 2006)

Hallo,

ich bastel jetzt seid kurzer Zeit mit Java3D rum, aber im moment komm ich nicht weiter. Das Problem ist das von meinem Behavior das 1. Event (KeyEvent.KEY_PRESSED) einfach ignoriert wird.

Dazu mein Code:


```
crits = new WakeupCriterion[2];
crits[0]=new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED);
crits[1]=new WakeupOnAWTEvent(MouseEvent.MOUSE_MOVED);
crit = new WakeupOr(crits);
wakeupOn(crit);
```


```
[...]
 ev=(WakeupOnAWTEvent)criteria.nextElement();

 AWTEv=ev.getAWTEvent();
                           
 for (int i=0; i<AWTEv.length; i++)
 {
   if(AWTEv[i].getID()==MouseEvent.MOUSE_MOVED) {
   MouseEvent MouseEv=(MouseEvent)AWTEv[i];
  // Das MouseEvent wird ordentlich ausgeführt, kein Problem
  [...]
  wakeupOn(crit);
 }
 else if(AWTEv[i].getID()==KeyEvent.KEY_PRESSED) {

  KeyEvent KeyEv=(KeyEvent)AWTEv[i];

  [...]
  //Hier ist jetzt das Problem. es tut sich einfach nichts!
  wakeupOn(crit);
```

hat jemand eine idee woran es liegen könnte?

Danke, Feiadragon


----------



## Illuvatar (25. Okt 2006)

Das heißt, er ruft nichtmal die processStimulus Methode auf?

Hat das Canvas3D den Focus (bin grad nicht sicher, wie das ist, vielleicht musst du sogar setFocusable(true) machen)?


----------



## Feiadragon (25. Okt 2006)

äh doch das tut er. sorry, der 2. Codeschnippsel IST die processStimulus Methode, nur das ich das weggelassen hab.

also das Canvas3D den focus hat nehm ich doch mal an, wenn der maus-teil der geschichte klappt, nur die tastatur nicht.


----------

