如何将JProgressbar绑定到Bean类的属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将JProgressbar绑定到Bean类的属性相关的知识,希望对你有一定的参考价值。
任何人都可以提供示例代码或链接如何将JProgressbar绑定到Swing应用程序中的bean类属性?
答案
您可以使用JGoodies Binding将进度条绑定到模型。但是您的(view-)模型必须触发属性更改事件才能使其生效。 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);
}
在您的视图中:
BeanAdapter<ViewModel> beanAdapter = new BeanAdapter<ViewModel>(viewModel, true);
Bindings.bind(progressBar, "value", beanAdapter.getValueModel(ViewModel.PROPERTY_PROGRESS));
以上是关于如何将JProgressbar绑定到Bean类的属性的主要内容,如果未能解决你的问题,请参考以下文章
如何将 JProgressBar 设置为音频文件的持续时间?
Java - 如何将 JProgressBar 与 SwingWorker 一起使用
将输入文本值传递给 bean 方法,而不将输入值绑定到 bean 属性