wannik:
私が作成したUser
Beanクラスをし、それをバインドしますJTextField
。私は、メソッド際にテキストフィールドを更新したいと思いsetName
、Beanの呼び出しがあります。ここでは、コードは次のようになります。
package newpackage;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
public class User {
private String name;
public User() {
}
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
propertyChangeSupport.firePropertyChange(null, null, null);
}
private final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
public void addPropertyChangeListener(PropertyChangeListener listener) {
propertyChangeSupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
propertyChangeSupport.removePropertyChangeListener(listener);
}
}
私は、GUIを設計するためのNetBeansを使用しています。できます。しかし、私はそれがSwingコンポーネントとの結合Beanを実装するための正しい方法であるかどうかを疑問に思いました。
ピュース:
ほとんど。(未テスト)このような何かを試してみてください:
public void setName(String name) {
String oldName = this.name;
this.name = name;
propertyChangeSupport.firePropertyChange("name", oldName, name);
}
参照してくださいJavadocを。