Algunos métodos del JDK piden un Frame, pero Applet no hereda de Frame, ¿Qué hacer?

1898 vistas

Con Netscape y Appletviewer parece que hay una solución ya que ponen los applets en un Frame, por lo que bastará con usar getParent() en el Applet para recuperar el Frame y usarlo (de forma recursiva si es necesario hasta encontrarlo).

Veamos un ejemplo:



java
  1. public java.awt.Frame getFrame() {
  2.         Container container = this.getParent();
  3.         while( container != null ) {
  4.                 if( container instanceof Frame ) {
  5.                         return( (Frame)container );
  6.                 }
  7.                 container = container.getParent();
  8.         }
  9.         return(null); /** O un error */
  10. }



El ejemplo devuelve null si el parent no es un java.awt.Frame.