001 /*
002 * ShapePropertyEditor.java
003 *
004 * Created on August 23, 2006, 10:17 PM
005 *
006 * To change this template, choose Tools | Template Manager
007 * and open the template in the editor.
008 */
009
010 package org.jdesktop.swingx.editors;
011
012 import java.awt.Component;
013 import java.awt.Rectangle;
014 import java.awt.Shape;
015 import java.awt.event.ActionEvent;
016 import java.awt.event.ActionListener;
017 import java.awt.geom.Ellipse2D;
018 import java.awt.geom.Rectangle2D;
019 import java.beans.PropertyEditorSupport;
020
021
022 /**
023 *
024 * @author joshy
025 */
026 public class ShapePropertyEditor extends PropertyEditorSupport {
027 ShapeChooser chooser;
028 /** Creates a new instance of ShapePropertyEditor */
029 public ShapePropertyEditor() {
030 chooser = new ShapeChooser();
031 chooser.shapeCombo.addActionListener(new ActionListener() {
032 public void actionPerformed(ActionEvent actionEvent) {
033 if(chooser.shapeCombo.getSelectedItem().equals("Square")) {
034 setValue(new Rectangle(0,0,100,100));
035 } else {
036 setValue(new Ellipse2D.Double(0,0,100,100));
037 }
038 }
039 });
040 }
041
042 public Shape getValue() {
043 return (Shape)super.getValue();
044 }
045
046 public void setValue(Object value) {
047 super.setValue(value);
048 }
049
050 public boolean isPaintable() {
051 return true;
052 }
053
054 public boolean supportsCustomEditor() {
055 return true;
056 }
057
058 public Component getCustomEditor() {
059 return chooser;
060 }
061 }