如何将 JProgressbar 绑定到 Bean 类的属性



任何人都可以提供一个示例代码或链接,如何将JProgressbar绑定到Swing应用程序中的bean类属性?

您可以使用JGoodies Binding将进度条绑定到模型。但是您的(视图)模型必须触发属性更改事件才能工作。http://www.jgoodies.com/downloads/libraries.html我可以在周一发布一个示例代码。

例子:

在你的ViewModel中:

private final PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private int progress;
public void addPropertyChangeListener(PropertyChangeListener listener)
{
    changeSupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener)
{
    changeSupport.removePropertyChangeListener(listener);
}
public int getProgress()
{
    return progress;
}
public static final String PROPERTY_PROGRESS = "progress";
public void setProgress(int progress)
{
    int old = this.progress;
    this.progress = progress;
    changeSupport.firePropertyChange(PROPERTY_PROGRESS, old, progress);
}

In your View:

BeanAdapter<ViewModel> beanAdapter = new BeanAdapter<ViewModel>(viewModel, true);
Bindings.bind(progressBar, "value", beanAdapter.getValueModel(ViewModel.PROPERTY_PROGRESS));

相关内容

最新更新