u010704330
sxyRain
2013-09-25 15:12

javabean 如何 通过内省 获取 自定义的BeanInfo?

  • beaninfo

package com.foo;

import java.beans.*;
import java.util.*;

public class MyJavaBean {

private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}

//-----------------------------------------------------
package com.foo;
import java.awt.Image;
import java.beans.*;
import java.util.*;

public class MyJavaBeanBeanInfo implements BeanInfo{

public BeanInfo[] getAdditionalBeanInfo() {
// TODO Auto-generated method stub
return null;
}

public BeanDescriptor getBeanDescriptor() {
// TODO Auto-generated method stub
return null;
}

public int getDefaultEventIndex() {
// TODO Auto-generated method stub
return 0;
}

public int getDefaultPropertyIndex() {
// TODO Auto-generated method stub
return 0;
}

public EventSetDescriptor[] getEventSetDescriptors() {
// TODO Auto-generated method stub
return null;
}

public Image getIcon(int iconKind) {
// TODO Auto-generated method stub
return null;
}

public MethodDescriptor[] getMethodDescriptors() {
// TODO Auto-generated method stub
return null;
}

public PropertyDescriptor[] getPropertyDescriptors() {
// TODO Auto-generated method stub
return null;
}

}

//-----------------------------------------------------
package com.foo;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;

import com.foo.MyJavaBean;


public class BeanInfoTest {
public static void main(String[] args) throws IntrospectionException {
 BeanInfo beanInfo=Introspector.getBeanInfo(new MyJavaBean().getClass(),Introspector.USE_ALL_BEANINFO);
 System.out.println(beanInfo);
}
}
//此处打印结果:  java.beans.GenericBeanInfo@83cc67

问题:我想通过 BeanInfo beanInfo=Introspector.getBeanInfo(new MyJavaBean().getClass(),Introspector.USE_ALL_BEANINFO);  来获MyJavaBean类的自定义的BeanInfo类(MyJavaBeanBeanInfo),为什么总是获取不到,获取的结果总是GenericBeanInfo,我想要的是MyJavaBeanBeanInfo类。

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

0条回答