package com.link_intersystems.swing;
import javax.swing.BoundedRangeModel;
public class BoundedRangeModelProgressListener implements ProgressMonitor {
private BoundedRangeModel progressModel;
private boolean canceled;
public BoundedRangeModelProgressListener(BoundedRangeModel progressModel) {
this.progressModel = progressModel;
}
public void clear() {
progressModel.setValue(0);
progressModel.setMinimum(0);
progressModel.setMaximum(0);
canceled = false;
}
@Override
public void start(String taskName, int totalWork) {
clear();
progressModel.setMaximum(totalWork);
}
@Override
public void update(int completed) {
int newValue = progressModel.getValue();
progressModel.setValue(newValue + 1);
}
@Override
public void end() {
progressModel.setValue(progressModel.getMaximum());
}
@Override
public boolean isCanceled() {
return canceled;
}
public void setCanceled(boolean canceled) {
this.canceled = canceled;
}
}