In 2014b the waitbar appearance changed from the cool red to an ugly green windows-style one (btw in help documentation it still says "A wait bar is a figure that displays what percentage of a calculation is complete as the calculation proceeds by progressively filling a bar with red from left to right." ).
How can i revert it back to red?

 採用された回答

Robert Cumming
Robert Cumming 2014 年 11 月 12 日

0 投票

I played around with the java this afternoon and got this to work:
hBar = waitbar ( 0, 'Please Wait....' );
% now use java to get to the progress bar
jFrame = get ( hBar, 'JavaFrame' ); % this will throw a warning
jFigPanel = jFrame.getFigurePanelContainer;
jContainer = jFigPanel.getComponent(0);
jPanel = jContainer.getComponent(0);
%
jProgressContainer = jPanel.getComponent(0);
% get the progress bar
jProgressBar = jProgressContainer.getComponent(0);
% update the progressbar details
jProgressBar.setBackground ( java.awt.Color.RED );
jProgressBar.setString(''); % set the text to be empty
jProgressBar.setStringPainted(true);
% example of progress bar being updated:
for ii=0:0.02:1
waitbar(ii,hBar)
pause(0.1)
end

3 件のコメント

Thomas
Thomas 2014 年 11 月 12 日
isnt there a permanent solution? i would modify waitbar.m if possible? how?
Robert Cumming
Robert Cumming 2014 年 11 月 13 日
Don't think so. If it's such a problem make your own or use one from the file exchange.
You could put the above code in your own version, or make it a sub function.
Dev-iL
Dev-iL 2015 年 7 月 8 日
Nice trick! FYI, the following line has no effect:
jProgressBar.setBackground ( java.awt.Color.RED );

サインインしてコメントする。

その他の回答 (1 件)

Michael Haderlein
Michael Haderlein 2014 年 11 月 12 日

0 投票

I'm working with 2014a, but if they didn't change the entire waitbar, you should be able to modify the color this way:
h = waitbar(0,'Please wait...');
hc=get(get(h,'children'),'children');
steps = 1000;
for step = 1:steps
pause(0.001)
waitbar(step / steps)
set(hc(2),'facecolor',rand(1,3))
end
close(h)
Warning: Don't run this code too often, it might cause headache ;-)

1 件のコメント

Guillaume
Guillaume 2014 年 11 月 12 日
Unfortunately, it doesn't appear to work in 2014b
the child of the waitbar (an axis) does not have any children (that are exposed)

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で App Building についてさらに検索

製品

タグ

質問済み:

2014 年 11 月 12 日

コメント済み:

2015 年 7 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by