GUIでJavaバインディング豆

wannik:

私が作成したUserBeanクラスをし、それをバインドします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を

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=349827&siteId=1