01: import java.awt.*; 02: import java.beans.*; 03: import java.util.*; 04: 05: /** 06: A property editor for the Dimension type that presents 07: a dimension as a text "width x height". 08: */ 09: public class DimensionEditor extends PropertyEditorSupport 10: { 11: public String getAsText() 12: { 13: Dimension value = (Dimension) getValue(); 14: return (int) value.getWidth() 15: + "x" + (int) value.getHeight(); 16: } 17: 18: public void setAsText(String s) 19: { 20: try 21: { 22: StringTokenizer tokenizer 23: = new StringTokenizer(s, "x"); 24: if (!tokenizer.hasMoreTokens()) 25: throw new IllegalArgumentException(); 26: int width 27: = Integer.parseInt(tokenizer.nextToken().trim()); 28: if (!tokenizer.hasMoreTokens()) 29: throw new IllegalArgumentException(); 30: int height 31: = Integer.parseInt(tokenizer.nextToken().trim()); 32: setValue(new Dimension(width, height)); 33: } 34: catch (NumberFormatException exception) 35: { 36: throw new IllegalArgumentException(); 37: } 38: } 39: }