javabean的属性编辑器在netbeans中为什么不显示呢?

hopegood 2008-02-04 11:11:00
//本代码的作用:想在netbeans中,给titlePosition属性显示自己的属性编辑器,按道理,应该有个下拉框
//可是,没有显示
//以下是代码
package javaBeantest;

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.awt.font.FontRenderContext;

import java.awt.geom.*;
import java.beans.PropertyDescriptor;
import java.beans.PropertyEditorSupport;
import java.beans.*;
public class ChartBean extends JPanel{

public void setTitlePosition(int p){
this.titlePosition = p;
}

public int getTitlePosition(){
return this.titlePosition;
}

private static final int LEFT = 0;
private static final int CENTER = 1;
private static final int RIGHT = 2;

private static final int XPREFSIZE = 300;
private static final int YPREFSIZE = 300;

private double[] values = {1,2,3};
private String title = "Title";
private int titlePosition = CENTER;
private boolean inverse;
private Color color = Color.red;
}

//一些属性编辑器

class TitlePositionEditor extends PropertyEditorSupport{

public String[] getTags(){
return options;
}
private String[] options = {"Left","Center","Right"};

@Override public String getJavaInitializationString(){
return "" + getValue();
}

public String getAsText(){
int value = (Integer)getValue();
return options[value];

}
public void setAsText(String s){
for (int i = 0; i < options.length; i++){
if (options[i].equals(s)){
setValue(i);
return;
}
}
}

}

class ChartBeanBeanInfo extends SimpleBeanInfo{

@Override public PropertyDescriptor[] getPropertyDescriptors(){
try
{
PropertyDescriptor titlePositionDescriptor =
new PropertyDescriptor("titlePosition", ChartBean.class);
titlePositionDescriptor.setPropertyEditorClass(TitlePositionEditor.class);

/*PropertyDescriptor valuesDescriptor =
new PropertyDescriptor("values",ChartBean.class);
valuesDescriptor.setPropertyEditorClass(DoubleArrayEditor.class);*/


return new PropertyDescriptor[]{
titlePositionDescriptor//,
//valuesDescriptor
};
}
catch(IntrospectionException e){
e.printStackTrace();
return null;
}
}

...全文
144 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Brunhild 2008-03-11
  • 打赏
  • 举报
回复
lz的意思是自动生成get,set方法吗?
如果是这样的话,可以试试alt+insert

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧