Home Segments Top Top Previous Next

797: Mainline

With all the changes in place, you have the following definition of the MovieApplication class:

import javax.swing.*; 
import java.awt.event.*; 
import java.util.*; 
public class MovieApplication extends JApplet { 
 // Declare instance variables: 
 private Meter meter; 
 private Movie movie;                                    
 // Define constructor 
 public MovieApplication () { 
  // Create model 
  getMovie();                                            
  // Create and connect view to application 
  getContentPane().add("Center", getMeter());            
 } 
 // Define getters and setters 
 public Meter getMeter () {                                              
  if (meter == null) {setMeter(new Meter(0, 30));}                       
  return meter;                                                          
 }                                                                       
 public Movie getMovie () {                                              
  if(movie == null) {setMovie(new Movie (10, 10, 10, "On to Java"));}    
  return movie;                                                          
 }                                                                       
 public void setMeter (Meter m) {                                                
  meter = m;                                                                     
  meter.addMouseListener(new MeterListener(this));               
 }                                                                               
 public void setMovie (Movie m) { 
  if(movie == m) {return;} 
  if(movie instanceof Movie) {movie.deleteObservers();} 
  if(m instanceof Movie) { 
   movie = m; 
   movie.addObserver(new MovieObserver(this));           
   movie.changed(); 
  } 
 } 
}