Bom como o proprio titulo diz, gosataria de saber qual o padrão a se seguir para construir meus propios componentes de interface?
Ou mesmo aperfeiçoar os já existentes, por exemplo um JTextField auto contador, que conte apartir de uma lista, vetor ou vecto, enfim que eu possa aperfeiçoar meus proprios componentes!
Até ai tudo bem, moleza.
Mas o problema ta em definir as propriedades, pra poder coloca-los na paleta do netbeans.
Abaixo tem um exemplo de java beans que o proprio netbeans gera:
[code]public class JTest implements Serializable {
public static final String PROP_SAMPLE_PROPERTY = "sampleProperty";
private String sampleProperty;
private PropertyChangeSupport propertySupport;
public JTest() {
propertySupport = new PropertyChangeSupport(this);
}
public String getSampleProperty() {
return sampleProperty;
}
public void setSampleProperty(String value) {
String oldValue = sampleProperty;
sampleProperty = value;
propertySupport.firePropertyChange(PROP_SAMPLE_PROPERTY, oldValue, sampleProperty);
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
propertySupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
propertySupport.removePropertyChangeListener(listener);
}
}[/code]
Se alguém tiver algum material ou puder explicar como fico grato.
Desde já muito obrigado a todos.
Eu estou com um problema similar, eu criei uma classe beans padrão do NetBeans, eu consigo colocar na paleta, mas quando eu vou usar o componente(que é uma simples extenção do JTextField) aparece um erro, que vai logo abaixo.
Logo abaixo vai o código do meu beans, que simplesmente estende JTextField e não faz mais nenhuma implementação de métodos.
@Override
public void addPropertyChangeListener(PropertyChangeListener listener) {
propertySupport.addPropertyChangeListener(listener);
}
@Override
public void removePropertyChangeListener(PropertyChangeListener listener) {
propertySupport.removePropertyChangeListener(listener);
}
}[/code]
Eu peço ajuda de todos da comunidade, pois não sei como solucionar o problema e tenho um programa para entregar em três semanas e preciso tirar o erro desse componente.
Então, por favor alguem ai me da uma ajudinha.