Package ejmf.toolkit.media.content.text.plain.controls

Source Code of ejmf.toolkit.media.content.text.plain.controls.ColorChooser

package ejmf.toolkit.media.content.text.plain.controls;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JPanel;
import javax.swing.border.Border;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;

import ejmf.toolkit.gui.tickertape.TickerTape;

/**
* ColorChooser is the GUI component for a Control for the
* TickerTape class, used by the Multi-Image (.miv) Player.  It
* provides the ability to change the colors of the foreground,
* background, or shadow of the Multi-Image Player.
*
* @author     Steve Talley & Rob Gordon
*/
public class ColorChooser extends JPanel {
    private static final int GAP = 10;
    private static final Border
        emptyBorder  = new EmptyBorder(GAP,GAP,GAP,GAP),
        etchedBorder = new CompoundBorder(new EtchedBorder(), emptyBorder);

    private TickerTape tickertape;
    private RGBChooser background;
    private RGBChooser foreground;
    private RGBChooser shadow;

    private ActionListener backgroundListener =
        new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                tickertape.setBackground(
                    background.getColor() );
            }
        };

    private ActionListener foregroundListener =
        new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                tickertape.setForeground(
                    foreground.getColor() );
            }
        };

    private ActionListener shadowListener =
        new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                tickertape.setShadow(
                    shadow.getColor() );
            }
        };

    /**
     * Constructs a ColorChooser for the given Tickertape.
     */
    public ColorChooser(TickerTape tickertape) {
        super();
        this.tickertape = tickertape;

        background = new RGBChooser(
            "Background", tickertape.getBackground(),
            backgroundListener);

        foreground = new RGBChooser(
            "Foreground", tickertape.getForeground(),
            foregroundListener);

        shadow = new RGBChooser(
            "Shadow", tickertape.getShadow(),
            shadowListener);

        JPanel gridPanel = new JPanel( new GridLayout(3,1,GAP,GAP) );
        gridPanel.add(background);
        gridPanel.add(foreground);
        gridPanel.add(shadow);

        JPanel mainPanel = new JPanel();
        mainPanel.setBorder( new TitledBorder(etchedBorder, "Color Control") );
        mainPanel.add(gridPanel);

        add(mainPanel);
    }
}
TOP

Related Classes of ejmf.toolkit.media.content.text.plain.controls.ColorChooser

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.