2011-10-09 34 views
2

任何人都可以提供示例代碼或鏈接如何將JProgressbar綁定到Swing應用程序中的bean類屬性?如何將JProgressbar綁定到Bean類的屬性

+0

什麼叫 「類屬性」 是什麼意思?無論如何,沒有什麼特別的JProgressbar - 做任何其他組件上的任何其他組件的相同方式 – kleopatra

回答

2

您可以使用JGoodies綁定將進度條綁定到您的模型。但是你的(view-)模型必須觸發屬性更改事件才能工作。 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)); 
+0

好的..謝謝Mr.Gandalf –

+0

我用例子代碼更新了答案:) – Gandalf

相關問題