Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/make/data/swingbeaninfo/javax/swing/SwingBeanInfoBase.java
38892 views
1
/*
2
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package javax.swing;
27
28
import java.beans.*;
29
import java.lang.reflect.*;
30
import java.awt.Image;
31
32
/**
33
* The superclass for all Swing BeanInfo classes. It provides
34
* default implementations of <code>getIcon</code> and
35
* <code>getDefaultPropertyIndex</code> as well as utility
36
* methods, like createPropertyDescriptor, for writing BeanInfo
37
* implementations. This classes is intended to be used along
38
* with <code>GenSwingBeanInfo</code> a BeanInfo class code generator.
39
*
40
* @see GenSwingBeanInfo
41
* @author Hans Muller
42
*/
43
public class SwingBeanInfoBase extends SimpleBeanInfo
44
{
45
/**
46
* The default index is always 0. In other words the first property
47
* listed in the getPropertyDescriptors() method is the one
48
* to show a (JFC builder) user in a situation where just a single
49
* property will be shown.
50
*/
51
public int getDefaultPropertyIndex() {
52
return 0;
53
}
54
55
/**
56
* Returns a generic Swing icon, all icon "kinds" are supported.
57
* Subclasses should defer to this method when they don't have
58
* a particular beans icon kind.
59
*/
60
public Image getIcon(int kind) {
61
// PENDING(hmuller) need generic swing icon images.
62
return null;
63
}
64
65
/**
66
* Returns the BeanInfo for the superclass of our bean, so that
67
* its PropertyDescriptors will be included.
68
*/
69
public BeanInfo[] getAdditionalBeanInfo() {
70
Class superClass = getBeanDescriptor().getBeanClass().getSuperclass();
71
BeanInfo superBeanInfo = null;
72
try {
73
superBeanInfo = Introspector.getBeanInfo(superClass);
74
} catch (IntrospectionException ie) {}
75
if (superBeanInfo != null) {
76
BeanInfo[] ret = new BeanInfo[1];
77
ret[0] = superBeanInfo;
78
return ret;
79
}
80
return null;
81
}
82
}
83
84