Estou com um problema na hora de implementar um beans binding
tenho um POJO (VO), uma lista de objetos, e um CheckBox.
Cada vez que altero a seleção do CheckBox é para ser setado no meu POJO(VO) um valor boolean, no caso se o CheckBox estiver selecionado (true) caso contrário (false).
implementei mais ou menos assim.
Meu Pojo
public class QuadroHorarioVO implements Comparable<QuadroHorarioVO>{
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private boolean domingo;
public QuadroHorarioVO() {
}
public boolean isDomingo() {
return domingo;
}
public void setDomingo(boolean domingo) {
boolean oldDomingo = this.domingo;
this.domingo = domingo;
changeSupport.firePropertyChange("domingo", oldDomingo, domingo);
}
public int compareTo(QuadroHorarioVO o) {
return this.horario.toString().compareTo(o.getHorario().toString());
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
changeSupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
changeSupport.removePropertyChangeListener(listener);
}
}
Meu CheckBox
//Meu Pojo
QuadroHorarioVO VO = new QuadroHorarioVO();
final JCheckBox dom = new JCheckBox();
dom.setName("Dom");
org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(
AutoBinding.UpdateStrategy.READ_WRITE,
VO,
ELProperty.create("domingo"),
dom,
BeanProperty.create("selected"));
dom.addPropertyChangeListener("selected",new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
//String propertyName = evt.getPropertyName();
if(evt.getPropertyName().equals("selected")){
//ação a ser executada caso ocorra a ação selected no CheckBox
}
}
});
bindingGroup.addBinding(binding);
bindingGroup.bind();
O problema é que quando inicio a aplicação o meu binding bloqueia selected do meu CheckBox, como se estivesse sempre falso e nem entra no método propertyChange, como se não tivesse chamado a ação selected.
Alguem sabe o que fazer?