Class ProgressBar

java.lang.Object
org.strassburger.tui4j.formatting.layout.ProgressBar
All Implemented Interfaces:
Renderable

public class ProgressBar extends Object implements Renderable
A terminal progress bar animation
  • Constructor Details

    • ProgressBar

      public ProgressBar()
      Create a progress bar

      Example usage:

       
       ProgressBar progressBar = new ProgressBar()
                .setMessage(StyledText.text("Loading some stuff..."))
                .setStyle(ProgressBarStyle.SQUARES);
       printer.print(progressBar);
      
       for (int i = 0; i <= 100; i++) {
           Thread.sleep(50);
           progressBar.setProgress(i);
           progressBar.setMessage(StyledText.text("Loading some stuff... " + i + "%"));
       }
      
       progressBar.complete(StyledText.text("✔ Loading complete!").fg(AnsiColor.GREEN).bold());
       
       
    • ProgressBar

      public ProgressBar(StyledText message)
      Create a progress bar with a custom message

      Example usage:

       
       ProgressBar progressBar = new ProgressBar(StyledText.text("Loading some stuff..."))
                .setStyle(ProgressBarStyle.SQUARES);
       printer.print(progressBar);
      
       for (int i = 0; i <= 100; i++) {
           Thread.sleep(50);
           progressBar.setProgress(i);
           progressBar.setMessage(StyledText.text("Loading some stuff... " + i + "%"));
       }
      
       progressBar.complete(StyledText.text("✔ Loading complete!").fg(AnsiColor.GREEN).bold());
       
       
      Parameters:
      message - The message to display next to the spinner
  • Method Details

    • getMessage

      public StyledText getMessage()
    • setMessage

      public ProgressBar setMessage(StyledText message)
      Set the message displayed next to the progress bar
    • getBarColor

      public Color getBarColor()
    • setBarColor

      public ProgressBar setBarColor(Color barColor)
      Overwrite the color of the entire progress bar
    • getStyle

      public ProgressBarStyle getStyle()
    • setStyle

      public ProgressBar setStyle(ProgressBarStyle style)
    • setProgress

      public void setProgress(int progress)
      Update the progress percentage. Clamped between 0 and 100.
    • complete

      public void complete(StyledText finalMessage)
      Complete the progress bar and display a final message
      Parameters:
      finalMessage - The final message to display
    • complete

      public void complete(StyledText finalMessage, boolean clearAfter)
      Complete the progress bar and optionally display a final message
      Parameters:
      finalMessage - The final message to display
      clearAfter - If true, clears the progress bar after completion
    • render

      public void render(Printer printer, int width, int height)
      Render the progress bar (initial print)
      Specified by:
      render in interface Renderable
      Parameters:
      printer - the printer to use
      width - the available width
      height - the available height