public MethodDescriptor[] getMethodDescriptors() {
System.err.println("ENTER--->
NervousText08BeanInfo.getMethodDescriptors"); // First find the "method" objects.
Method startMethod, stopMethod, changeDirectionMethod;
Method propertyChangeMethod;
Class args[] = { };
Class actionEventArgs[] = {
java.awt.event.ActionEvent.class };
Class propertyChangeEventArgs[] = {
PropertyChangeEvent.class }; try {
startMethod = NervousText08.class.getMethod(
"start", args);
stopMethod = NervousText08.class.getMethod(
"stop", args);
// ActionEvent handler methods
//FIND METHOD:
// public void changeDirection(ActionEvent x)
changeDirectionMethod =
NervousText08.class.getMethod(
"changeDirection", actionEventArgs); // PropertyChangeEvent handler methods
// FIND METHOD public void makeChange (
// PropertyChangeEvent evt) {
propertyChangeMethod = NervousText08.class.getMethod(
"makeChange", propertyChangeEventArgs);
} catch (Exception ex) {
// "should never happen"
throw new Error("Missing method: " + ex);
} // Now create the MethodDescriptor array
// with visible event response methods:
MethodDescriptor result[] = {
new MethodDescriptor(startMethod),
new MethodDescriptor(stopMethod),
new MethodDescriptor(changeDirectionMethod),
new MethodDescriptor(propertyChangeMethod)
};
System.err.println("EXIT---->
NervousText08BeanInfo.getMethodDescriptors");
return result;
}
System.err.println("ENTER--->
NervousText08BeanInfo.getMethodDescriptors"); // First find the "method" objects.
Method startMethod, stopMethod, changeDirectionMethod;
Method propertyChangeMethod;
Class args[] = { };
Class actionEventArgs[] = {
java.awt.event.ActionEvent.class };
Class propertyChangeEventArgs[] = {
PropertyChangeEvent.class }; try {
startMethod = NervousText08.class.getMethod(
"start", args);
stopMethod = NervousText08.class.getMethod(
"stop", args);
// ActionEvent handler methods
//FIND METHOD:
// public void changeDirection(ActionEvent x)
changeDirectionMethod =
NervousText08.class.getMethod(
"changeDirection", actionEventArgs); // PropertyChangeEvent handler methods
// FIND METHOD public void makeChange (
// PropertyChangeEvent evt) {
propertyChangeMethod = NervousText08.class.getMethod(
"makeChange", propertyChangeEventArgs);
} catch (Exception ex) {
// "should never happen"
throw new Error("Missing method: " + ex);
} // Now create the MethodDescriptor array
// with visible event response methods:
MethodDescriptor result[] = {
new MethodDescriptor(startMethod),
new MethodDescriptor(stopMethod),
new MethodDescriptor(changeDirectionMethod),
new MethodDescriptor(propertyChangeMethod)
};
System.err.println("EXIT---->
NervousText08BeanInfo.getMethodDescriptors");
return result;
}
Class param[] = MyMethod(String s, Object o, MyClass mc).getParameterTypes();得到param[],看看里面都是些什么类型。然后在你的类里构造一个相同的Class数组,放在getMethod()方法里就行了。GOOD LUCKY