GUI中的javabean绑定
我创建了一个用户bean类并将其绑定到一个JTextField。我想在调用bean的方法setName时更新textfield。代码如下:GUI中的javabean绑定,java,swing,Java,Swing,我创建了一个用户bean类并将其绑定到一个JTextField。我想在调用bean的方法setName时更新textfield。代码如下: package newpackage; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; public class User { private String name; public User() { }
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);
}
}
我使用NetBeans设计GUI。它起作用了。但我想知道,使用Swing组件实现bean绑定是否正确。几乎可以。尝试以下未经测试的方法:
public void setName(String name) {
String oldName = this.name;
this.name = name;
propertyChangeSupport.firePropertyChange("name", oldName, name);
}
参阅./P>如果这是一个新的应用程序,请考虑JavaFX而不是Swing。它还提供了属性绑定支持。