View Javadoc

1   package fr.ove.palette.swing;
2   
3   import javax.swing.*;
4   import java.util.*;
5   import fr.ove.palette.swing.*;
6   import fr.ove.palette.events.*;
7   
8   /***
9   * A container containing several palettes.<BR>
10  * Serves as, some kind of wrappers for palletes.
11  *
12  * @author © 1999 DIRAT Laurent
13  * @version 1.0  20/09/1999
14  */
15  public abstract class PaletteContainer extends JPanel {
16      /***
17      * the list of palette instances contained.
18      */
19      private Vector listOfPalettes = new Vector();
20      
21      /***
22      * Adds a palette to the instance.
23      * @param palette the palette to add
24      */
25      public void addPalette(Palette palette) {
26          add(palette);
27          listOfPalettes.addElement(palette);
28      }
29      
30      // Wrapper methods for the different palettes contained.
31      
32      /***
33      * Registers another listener to be informed of changes of the palette.
34      * @param paletteListener a listener to add.
35      */
36      public void addPaletteListener(PaletteListener paletteListener) {
37          for (Enumeration e = listOfPalettes.elements(); e.hasMoreElements(); )
38              ((Palette) e.nextElement()).addPaletteListener(paletteListener);
39      }
40  
41      /***
42      * Removes a listener.
43      * @param paletteListener the listener to remove.
44      */
45      public void removePaletteListener(PaletteListener paletteListener) {
46          for (Enumeration e = listOfPalettes.elements(); e.hasMoreElements(); )
47              ((Palette) e.nextElement()).removePaletteListener(paletteListener);
48      }
49  }