--- a/jdk/src/share/classes/java/beans/EventSetDescriptor.java Tue Jun 15 21:32:59 2010 +0400
+++ b/jdk/src/share/classes/java/beans/EventSetDescriptor.java Tue Jun 22 12:06:33 2010 +0400
@@ -27,6 +27,7 @@
import java.lang.ref.Reference;
import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
/**
* An EventSetDescriptor describes a group of events that a given Java
@@ -175,10 +176,8 @@
setRemoveListenerMethod(getMethod(sourceClass, removeListenerMethodName, 1));
// Be more forgiving of not finding the getListener method.
- Method method = Introspector.findMethod(sourceClass,
- getListenerMethodName, 0);
- if (method != null) {
- setGetListenerMethod(method);
+ if (getListenerMethodName != null) {
+ setGetListenerMethod(Introspector.findInstanceMethod(sourceClass, getListenerMethodName));
}
}
@@ -188,7 +187,7 @@
return null;
}
Method method = Introspector.findMethod(cls, name, args);
- if (method == null) {
+ if ((method == null) || Modifier.isStatic(method.getModifiers())) {
throw new IntrospectionException("Method not found: " + name +
" on class " + cls.getName());
}