1 /*
2 * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or
5 * without modification, are permitted provided that the following
6 * conditions are met:
7 *
8 * - Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * - Redistribution in binary form must reproduce the above
12 * copyright notice, this list of conditions and the following
13 * disclaimer in the documentation and/or other materials
14 * provided with the distribution.
15 *
16 * Neither the name of Sun Microsystems, Inc. or the names of
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * This software is provided "AS IS," without a warranty of any
21 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
22 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
24 * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY
25 * DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR
26 * RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE OR
27 * ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE
28 * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT,
29 * SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
30 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF
31 * THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS
32 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
33 *
34 * You acknowledge that this software is not designed, licensed or
35 * intended for use in the design, construction, operation or
36 * maintenance of any nuclear facility.
37 */
38 package javax.swing.beaninfo;
39
40 import java.awt.Component;
41 import java.awt.Dimension;
42 import java.awt.Insets;
43
44 import java.beans.PropertyDescriptor;
45 import java.beans.PropertyEditorSupport;
46
47 import javax.swing.JComponent;
48 import javax.swing.JPanel;
49
50 /**
51 * Base class of all Swing based property editors.
52 *
53 * @version 1.4 02/27/02
54 * @author Tom Santos
55 * @author Mark Davidson
56 */
57 public class SwingEditorSupport extends PropertyEditorSupport {
58
59 /**
60 * Component which holds the editor. Subclasses are responsible for
61 * instantiating this panel.
62 */
63 protected JPanel panel;
64
65 protected static final Dimension LARGE_DIMENSION = new Dimension(150,20);
66 protected static final Dimension MEDIUM_DIMENSION = new Dimension(120,20);
67 protected static final Dimension SMALL_DIMENSION = new Dimension(50,20);
68 protected static final Insets BUTTON_MARGIN = new Insets(0,0,0,0);
69
70 /**
71 * Returns the panel responsible for rendering the PropertyEditor.
72 */
73 public Component getCustomEditor() {
74 return panel;
75 }
76
77 public boolean supportsCustomEditor() {
78 return true;
79 }
80
81 // layout stuff
82 protected final void setAlignment(JComponent c){
83 c.setAlignmentX(Component.CENTER_ALIGNMENT);
84 c.setAlignmentY(Component.CENTER_ALIGNMENT);
85 }
86
87 /**
88 * For property editors that must be initialized with values from
89 * the property descriptor.
90 */
91 public void init(PropertyDescriptor descriptor) {
92 }
93 }