Вопрос

У меня есть JLabel и используя NetBeans, я связал его в недвижимости в форме.

Проблема в том, как я могу обновить значения привязки, когда свойство, которое необходимо изменить текст метки. this.firepropertychange работает, но пахнет плохим ... Я хотел бы как-то вроде этого. Bindinggroup.refresh или this.refresh, который будет обновлять текст этикетки

Например, JLABEL.Text обязан формировать quotalue

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()?????

}
Это было полезно?

Решение

К сожалению, если вы хотите использовать 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 для получения более подробной информации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top