Home Segments Top Top Previous Next

790: Mainline

You solve the undefined-variable problem by making your application instance available to methods defined in the MovieObserver class. You make that application instance available in a three-step idiom:

The following illustrates. Both the meter and the movie become accessible via the value of the applet variable.

import java.util.*;
public class MovieObserver implements Observer {
 private MovieApplication applet;               
 public MovieObserver (MovieApplication a) {    
  applet = a;                                   
 }                                              
 public void update (Observable observable, Object object) {
  applet.getMeter().setValue(applet.getMovie().rating());   
  applet.getMeter().setTitle(applet.getMovie().getTitle()); 
 }                                                       
}