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
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 }