|
From: Mark R. D. <mdi...@la...> - 2003-08-12 19:50:38
|
Done. Thanks for the fix.
-Mark
Vos, Jerry R. wrote:
> If a key listener is added to the Display Surface before the frame is
> created (before it is displayed) there is no way to remove that listen=
er
> until after the frame is created. addKeyListener(=85) stores the
> listeners until the surface is displayed, but removeKeyListener is not=
> overridden to remove key listeners from the stored list.
>
> For instance:
>
>
>
> DisplaySurface foo =3D new DisplaySurface(=85);
>
> foo.addKeyListener(new KeyAdapter());
>
>
>
> There=92s no way to remove that listener until after foo.display();
>
>
>
> Fix:
>
> *public* *void* removeKeyListener(KeyListener listener) {
>
> *if* (frame !=3D *null*)
>
> frame.removeKeyListener(listener);
>
> *else*
>
> keyListeners.remove(listener);
>
> }
>
|