2016-04-01 3 views
2

Wie kann ich die Breite der Bar in einer Warteleiste in Matlab R2015a steuern?Ändern Sie die Breite der Bar Figur an der Warteleiste - MATLAB R2015a

ich nur auf die folgende Frage vorgelegt:

waitbar -> length ot the bar figure?

Es funktioniert perfekt in Matlab R2012b mit der Lösung als Benutzer erwähnt, aber für R2015a, die Zeichenfolge ‚Waitbar 1‘ in der Mitte platziert und der Prozentsatz bar nicht Breite überhaupt ändern ....

habe ich den folgenden Code:

HWait = waitbar(0,'Waitbar 1', 'Units', 'normalized', 'Position', [0.25 0.4 0.3 0.08]); 
set(HWait,'Name','Tests running'); 
childrenWaitb = get(HWait, 'Children') ; 
set(childrenWaitb, 'Position',[10.8000 13.5000 320 9]); 

Antwort

1

die wai tbar geändert (zusammen mit vielen Grafiken) in r2014b. Der Warteleiste-Fortschrittsbalken war früher eine einfache Achse, mit der Sie die Position von.

Die neue waitbar auf einem Java-Fortschrittsbalken gebaut - so müssen Sie nicht dokumentierte Funktionen von Java zuzugreifen, sie aktualisieren:

% Create a progress bar. 
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; 
% Now go down through the children of the panel to get the container for the progress bar 
jContainer = jFigPanel.getComponent(0); 
jPanel = jContainer.getComponent(0); 
% Change the location of the panel (ref pixels) 
jPanel.setLocation(0,40); 
% Change the size of the panel 
jPanel.setSize(360,18); 
% You then need to repaint and validate for the update to be visible. 
jContainer.repaint 
jContainer.revalidate 
Verwandte Themen