Java NetBeans Binding. Como refrescar as ligações ..?
Pergunta
Eu tenho um Jlabel e usando o NetBeans, vinculei -o a uma propriedade no formulário.
O problema é como faço para atualizar os valores de ligação quando a propriedade com a qual o texto do rótulo foi ligada mudou. this.FirePropertyChange funciona, mas cheira mal ... eu gostaria de algo assim.
por exemplo, o jlabel.text está obrigado a formar algum valor
private someClass someThing;
public String getSomeValue(){
return someThing.getSomeThing();
}
//when someMethof is fired the jlabel should update its text value
public void someMethod(){
someThing = someThingElse;
bindingGroup.refresh()?????
}
Solução
Infelizmente, se você quiser usar a API de encadeamento de feijões, você terá que lidar com o cheiro de firePropertyChange
.
No entanto, não vejo qual é o problema? É uma mudança bastante simples. Mude sua classe para o seguinte:
private someClass someThing;
public String getSomeValue(){
return someThing.getSomeThing();
}
//when someMethof is fired the jlabel should update its text value
public void someMethod(){
someClass oldValue = someThing;
someThing = someThingElse;
this.firePropertyChange("someValue", oldValue, someThing);
}
Verificação de saída Este artigo sobre java.net para mais detalhes.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow