image thumbnail

Progress bar

version 1.2.0.0 (9.98 KB) by Levente Hunyadi
An elegant and easy-to-use progress bar dialog utilizing the Swing GUI class JProgressBar.

3K Downloads

Updated 13 Mar 2010

View License

The progress bar can be displayed and manipulated using two approaches.

In the procedural style, the function waitdialog wraps the Java Swing GUI class JProgressBar for enhanced visual experience but is functionally similar to the built-in function waitbar.

In the object-oriented style, ProgressDialog is a class that encapsulates a progress bar created using the waitdialog function, provides get/set access to the status message text and the progress indicator, and ensures proper cleanup on user interruption either using the cancel button or CTRL+BREAK, as well as in case an error occurs.

EXAMPLE

% show progress bar dialog
dlg = ProgressDialog();

maxiter = 50;
for iter = 1 : maxiter
% do any long-running operation
pause(0.1);

% update progress bar
dlg.FractionComplete = iter/maxiter;

% update status message
dlg.StatusMessage = sprintf('%d%% complete', fix(100*iter/maxiter));
end

% destroy progress bar dialog explicitly
delete(dlg);

% create progress bar dialog with custom status message
dlg = ProgressDialog( ...
'StatusMessage', 'Please wait until operation terminates...', ...
'FractionComplete', 0.25);
pause(2);

% hide status message
dlg.StatusMessage = [];
dlg.FractionComplete = 1;
pause(2);

% create progress bar with indeterminate state
% previous dialog is automatically destroyed on assignment
dlg = ProgressDialog( ...
'StatusMessage', 'Close the dialog to continue', ...
'Indeterminate', true);
uiwait(dlg);

Cite As

Levente Hunyadi (2022). Progress bar (https://www.mathworks.com/matlabcentral/fileexchange/26773-progress-bar), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: Using Java Swing components in MATLAB

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!