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 に答える