任何人都可以提供示例代码或链接如何在 Swing 应用程序中将 JProgressbar 绑定到 bean 类的属性?
问问题
566 次
1 回答
2
您可以使用 JGoodies Binding 将进度条绑定到您的模型。但是您的(视图)模型必须触发属性更改事件才能使其正常工作。 http://www.jgoodies.com/downloads/libraries.html我可以在星期一发布示例代码。
例子:
在您的视图模型中:
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);
}
在您看来:
BeanAdapter<ViewModel> beanAdapter = new BeanAdapter<ViewModel>(viewModel, true);
Bindings.bind(progressBar, "value", beanAdapter.getValueModel(ViewModel.PROPERTY_PROGRESS));
于 2011-10-09T12:28:44.290 回答