public class BeanOla extends Canvas implements Serializable {
PropertyChangeSupport gerenteDeMudancas = new PropertyChangeSupport(this);
private String nome;//exemplo de uma propriedade "bound"
public String getNome()
{
return nome;
}
public void setNome(String nome)
{
String velho = this.nome;
this.nome = nome;
gerenteDeMudancas.firePropertyChange("nome",velho, nome);
}
public BeanOla()
{
setSize(60,40);
setBackground(Color.red);
}
//gerenciamento dos listeners de nome
public void addPropertyChangeListener(String nomeDaPropriedade, PropertyChangeListener pcl){
gerenteDeMudancas.addPropertyChangeListener(nomeDaPropriedade, pcl);
}
public void removePropertyChangeListener(String nomeDaPropriedade, PropertyChangeListener pcl)
{
gerenteDeMudancas.removePropertyChangeListener(nomeDaPropriedade, pcl);
}
}
public class BeanOlaBeanInfo extends SimpleBeanInfo
{
public PropertyDescriptor[] getPropertyDescriptors() {
try {
PropertyDescriptor nome =
new PropertyDescriptor("nome", BeanOla.class);
nome.setBound(true);
PropertyDescriptor rv[] =
{nome};
return rv;
} catch (IntrospectionException e) {
throw new Error(e.toString());
}
}
public java.awt.Image getIcon(int iconKind) {
return loadImage("beanIcon.GIF");
}
Manifest-Version: 1.0
Created-By: NetBeans IDE
Specified-By: beaninfo.jarContent
Java-Bean: true
Name: BeanOla.class
Fiz tudo como manda o figurino, ou melhor, o Java Tutorial.... :?