How to make waitbar 'always on top'/bring to front
7 ビュー (過去 30 日間)
古いコメントを表示
Hi I have a GUI, which does some computation causing a waitbar to be displayed. This is fine. At some point, it brings up another waitbar, which causes the first waitbar to be 'pushed' to the back - i.e behind the main GUI. How can I keep the first waitbar 'always on top' - make sure that the main GUI is always kept to the back?
0 件のコメント
回答 (2 件)
Robert Cumming
2011 年 4 月 5 日
I thought this would be easy - but it took a bit more working out that I thought... I'm no expert in the Java side of matlab figures but this works for me (r2009b on Windows).
h=waitbar(0,'test','windowstyle', 'modal');
frames = java.awt.Frame.getFrames();
frames(end).setAlwaysOnTop(1);
for i=1:5
pause(0.5);
if i == 2
f = figure ( 'windowstyle', 'normal' );
set ( f, 'position', [300 300 600 400] );
plot ( sort(rand(10,1)), rand(10,1) );
end
waitbar(i/5,h);
end
close(f)
close(h)
1 件のコメント
Markus Beschow
2023 年 1 月 13 日
Great solution! Also still works in r2020b on windows and probably should continue to work.
Does not disable interacting with matlab like the modal property does.
参考
カテゴリ
Help Center および File Exchange で Dialog Boxes についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!