Home Segments Top Top Previous Next

954: Mainline

Next, you attach a LocalActionListener instance to the appropriate menu items in the MovieApplet initialization method, using addActionListener, as shown in the following definition, which brings together all the previously described program fragments:

import java.awt.*; 
import java.util.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 
public class MovieMenuBar extends JMenuBar { 
 MovieApplication applet; 
 private JMenu menu = new JMenu("File");  
 private JMenuItem fileMenuGeneral = new JMenuItem("General");  
 private JMenuItem fileMenuHorror = new JMenuItem("Horror");  
 public MovieMenuBar (MovieApplication a) { 
  applet = a; 
  add(menu);                     
  menu.add(fileMenuGeneral);     
  menu.add(fileMenuHorror);      
  LocalActionListener listener = new LocalActionListener(); 
  fileMenuGeneral.addActionListener(listener); 
  fileMenuHorror.addActionListener(listener); 
 } 
 class LocalActionListener implements ActionListener {                  
  public void actionPerformed (ActionEvent e) {                         
   JMenuItem jMenuItem = (JMenuItem)(e.getSource()); 
   if (jMenuItem == fileMenuGeneral) { 
    applet.getMovieData().setMovieVector( 
     MovieAuxiliaries.readMovieFile("general.movies") 
    ); 
   } 
   else if (jMenuItem == fileMenuHorror) { 
    applet.getMovieData().setMovieVector( 
     MovieAuxiliaries.readMovieFile("horror.movies") 
    ); 
}}}}