我有一个jlabel并使用netbeans我已将其绑定到表单上的属性。
问题是当标签文本绑定的属性发生更改时,如何刷新绑定值。 this.firePropertyChange工作但闻起来很糟糕...我想像this.bindingGroup.refresh或this.refresh那样更新标签文本
例如,jLabel.text必然会形成someValue
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()?????
}
答案 0 :(得分:1)
不幸的是,如果你想使用Beans Binding API,你将不得不处理firePropertyChange
的气味。
但是,我没看到问题是什么?这是一个非常简单的变化。将您的课程更改为以下内容:
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);
}