2017-07-06 76 views
0

我有一個GUI圖,其中包含一些按鈕,我想在放置按鈕的同一GUI窗口上顯示waitbar,我嘗試了不同的解決方案但徒勞無功。例如,當用戶點擊按鈕時,它開始在圖的左下側顯示我的等待條。如何在當前的GUI窗口MATLAB中添加waitbar?

+0

你能告訴你已經試過了嗎?因爲從GUI中的矩形和文本中創建自定義的等待工具函數似乎更容易。 – Gelliant

回答

1

你可以嘗試在你的圖中添加一個java等待欄。

在OpeningFcn

PB=javaObjectEDT(javax.swing.JProgressBar); 
javacomponent(PB,[10,10,200,20],gcf); %put at bottom part of the current figure 
set(handles.output.Children(1),'Tag','first_bar'); %make sure you can find it back 

將這個在任何功能的回調,那麼你可以使用此代碼設置欄的值在0和100之間:

h=findobj(handles.output.Children,'Tag','first_bar'); 
set(h.JavaPeer,'Value',rand(1)*100) 

你可以把它可見或不可見,就像你在Matlab中使用任何GUI對象一樣

h=findobj(handles.output.Children,'Tag','first_bar'); 
set(h,'visible','off'); 

在這裏你可以找到de尾巴關於JProgressBar。例如使用這個,你會得到一個字符串,其中有進度條。

h=findobj(handles.output.Children,'Tag','first_bar'); 
set(h.JavaPeer,'StringPainted',1) 
+0

非常感謝這段代碼完全是我所需要的,但是 handles.output.Children(1).Visible ='off';不會使進度條隱形 –

+0

也許你有不同版本的matlab。我用'set'設置了一個備用代碼。 – Gelliant

+0

我正在使用MATLAB 2017. –

相關問題