2017-07-06 77 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. –

相关问题