001 /*
002 * InsetsPropertyEditor.java
003 *
004 * Created on July 20, 2006, 12:16 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.Insets;
013 import java.beans.PropertyEditorSupport;
014
015 /**
016 *
017 * @author joshy
018 */
019 public class InsetsPropertyEditor extends PropertyEditorSupport {
020
021 /** Creates a new instance of InsetsPropertyEditor */
022 public InsetsPropertyEditor() {
023 }
024
025 public Insets getValue() {
026 return (Insets)super.getValue();
027 }
028
029 public void setAsText(String text) {
030 String originalParam = text;
031
032 try {
033 Insets val = (Insets)PropertyEditorUtil.createValueFromString(
034 text, 4, Insets.class, int.class);
035 setValue(val);
036 } catch (Exception e) {
037 throw new IllegalArgumentException("The input value " + originalParam + " is not formatted correctly. Please " +
038 "try something of the form [top,left,bottom,right] or [top , left , bottom , right] or [top left bottom right]", e);
039 }
040 }
041
042 public String getAsText() {
043 Insets val = getValue();
044 return val == null ? "[]" : "[" + val.top + ", " + val.left + ", " +
045 val.bottom + ", " + val.right + "]";
046 }
047
048 }