About the SegmentedProgressBar category

SegmentedProgressBar: Simple ProgressBar replacement that renders a series of segments rather than a continuous bar. Useful when you want to explictly convey that an operation is a discrete series of steps.

  • Progress values are integers.
  • Can configure if currently active step is individually rendered as indeterminate or not. (See Screenshot)
  • Segment width is a percentage based on the number of segments. High numbers of segments will result in narrow segment widths.
     String width = "500px";

      SegmentedProgressBar pbdet = new SegmentedProgressBar();
      pbdet.setNextSegmentIndeterminate(true);
      pbdet.setWidth(width);
      pbdet.setMax(segments);
      add(pbdet);
      
      SegmentedProgressBar pb = new SegmentedProgressBar();
      pb.setWidth(width);
      pb.setMax(segments);
      add(pb);

Also includes an abstract utility class org.vaadin.addons.thshsh.progress.ProgressReporter whose subclasses (SegmentedProgressBarReporter and ProgressBarReporter) can be used to conveniently update a progress bar and a HasText component with a message.