001 /* ======================================================
002 * Orson : a free chart beans library based on JFreeChart
003 * ======================================================
004 *
005 * (C) Copyright 2007, by Object Refinery Limited.
006 *
007 * Project Info: not-yet-released
008 *
009 * This library is free software; you can redistribute it and/or modify it
010 * under the terms of the GNU Lesser General Public License as published by
011 * the Free Software Foundation; either version 2.1 of the License, or
012 * (at your option) any later version.
013 *
014 * This library is distributed in the hope that it will be useful, but
015 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
016 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
017 * License for more details.
018 *
019 * You should have received a copy of the GNU Lesser General Public
020 * License along with this library; if not, write to the Free Software
021 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
022 * USA.
023 *
024 * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
025 * in the United States and other countries.]
026 */
027
028 package org.jfree.beans.editors;
029
030 import java.awt.BorderLayout;
031 import java.awt.Color;
032 import java.awt.Paint;
033
034 import javax.swing.JColorChooser;
035 import javax.swing.JPanel;
036 import javax.swing.event.ChangeEvent;
037 import javax.swing.event.ChangeListener;
038
039 /**
040 * A GUI for editing paint instances. INCOMPLETE.
041 */
042 public class PaintEditorGUI extends JPanel implements ChangeListener {
043
044 JColorChooser chooser;
045
046 /**
047 * Default constructor.
048 */
049 public PaintEditorGUI() {
050 setLayout(new BorderLayout());
051 this.chooser = new JColorChooser();
052 this.chooser.getSelectionModel().addChangeListener(this);
053 add(this.chooser);
054 }
055
056 /**
057 * Returns the paint.
058 *
059 * @return The paint.
060 */
061 public Paint getPaint() {
062 return this.chooser.getColor();
063 }
064
065 /**
066 * Sets the paint.
067 *
068 * @param paint the paint.
069 */
070 public void setPaint(Paint paint) {
071 if (paint instanceof Color) {
072 this.chooser.getSelectionModel().setSelectedColor((Color) paint);
073 }
074 }
075
076 /* (non-Javadoc)
077 * @see javax.swing.event.ChangeListener#stateChanged(javax.swing.event.ChangeEvent)
078 */
079 public void stateChanged(ChangeEvent e) {
080 firePropertyChange("paint", null, this.chooser.getColor());
081 }
082
083 }