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 }