13. Teil Steuerung
    anderer Applets
pk-applets
Kurs

Steuerung anderer Applets
( in der gleichen HTML-Seite )

Wir betrachten zwei Applets mit der gleichen Animation.
Das Applet folge_mit besitzt oben einige Buttons, mit denen die eigene Animationen unter die Animationen des anderen Applets gesteuert werden
Das Applet folge_ohne hat keine Buttons.

Kontaktaufnahme:
zur Identifikation muss die Funktion getName() implementiert werden. Damit kann ein fremdes Applet zielstrebig angesteuert werden.
Unser Applet folge_ohne gibt den String "ohne" zurück.
Mit dem Aufruf     Applet a = Applet2( "ohne" ) ;  erhält man Kontakten.
 
  public Applet Applet2( String ziel )
       {  //**** HTML-Seite nach anderen Applets durchsuchen **************
       AppletContext ac = getAppletContext() ;
       Enumeration e = ac.getApplets() ;
       while( e.hasMoreElements() )
          {
         Applet a = ( Applet ) e.nextElement() ;
          if( a.getName().equals( ziel ) ) return a ;
          }
      return null ;
      }

  public String getName()
       {
       return new String( "mit" ) ;
       }

Zur eigentlichen Steuerung des Applets verwenden  wir die Funktion   public void setLocation( int x, int y ).
Diese Funktion ist überflüssig, denn die Position des Applets wird durch die HTML-Seite  gegeben.
Wir können die Funktion also im Applet folge_ohne überschreiben und für unsere Zwecke als Befehlsempfänger  nutzen.
 
 
  public void setLocation( int x, int y )
      {   //*** setLocation ist als Funktion des Applets überflüssig ******
         //*** Wir überschreiben, um damit die Steuerung den Animation ***
         //*** auszubauen ************************************************
      if( x==0 )
          {  //*** Animation starten oder stoppen **********************
          if( (y== 1) && !folge )
              {
              folge = true ;
              start() ;
              }
         if( y==-1 )
              folge = false ;
          }
     if( x==1 )
        {  //*** Animation schneller oder langsamer ******************
         if( y== 1 ) dt *= 1.2 ;
         if( y==-1 ) dt /= 1.2 ;
         }
    }

 
 
 
 
Animation  folge_mit 
Die vier Buttons rechts steuern des Applet unten.

 
 
Animation folge_ohne :
wartet auf die Befehle von oben. 

Quelltexte