1

我有一个 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()?????

}
4

1 回答 1

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);

}

查看java.net 上的这篇文章以获取更多详细信息

于 2010-02-02T15:05:08.850 回答