Java MatlabListener忽略了我代码的某些部分,并绘制了一个不需要的图形
我有一个GUI,它从滑块中获取值,并使用这些值进行绘图。当拖动滑块时,我使用一个侦听器来获取所有值的所有曲线图。它正在工作,但是,我有一个小问题Java MatlabListener忽略了我代码的某些部分,并绘制了一个不需要的图形,java,matlab,user-interface,listener,ignore,Java,Matlab,User Interface,Listener,Ignore,我有一个GUI,它从滑块中获取值,并使用这些值进行绘图。当拖动滑块时,我使用一个侦听器来获取所有值的所有曲线图。它正在工作,但是,我有一个小问题 function slider1_Callback(hObject, eventdata, handles) %unnecessary code here D_son = evalin('base','D_son'); axes(handles.axes1); plot(handles.axes1, D_son); xlim([1,360]) %LIN
function slider1_Callback(hObject, eventdata, handles)
%unnecessary code here
D_son = evalin('base','D_son');
axes(handles.axes1);
plot(handles.axes1, D_son);
xlim([1,360]) %LINE ONE
set(gca,'XTick',[1 45 90 135 180 225 270 315 360])%LINE TWO
addlistener(handles.slider1,'ContinuousValueChange',@(hObject, event) slider1_Callback(hObject, eventdata, handles));
My problem is, when I drag the slider;
它将图形放置在正确的轴上,但会显示一个空白的图形页面
它完全忽略了我标记的第一行和第二行
除了这两个,它工作得很好。如何解决这些问题?先谢谢你
这是我从matlab官方用户论坛得到的帮助。我把这个放在这里是为了让其他人在未来受益我猜是因为GCA的电话出现了空白的数字。我曾经有过一个类似的问题,它解决了。另外,我认为您需要添加addlistenerhandles.slider1。。。行在slider1的create函数中,而不是在其回调函数中。感谢您的回答benoit_11。现在我做的是:大约1。我尝试完全删除gca部分,因此代码类似于set'XTick'。。。这是一个错误。我是matlab新手,所以我想我不应该这样做。然后,我尝试完全删除该行,所以没有更多的SETGCA…,它仍然提出空白图。大约2。我剪切和粘贴AddiistIn行在创建函数,它给了一个错误,这是试图引用字段的非结构数组。同样,它完全忽略了这两条线,没有XTICK,没有XLIM,没有。出现的空白数字是因为当你调用GCA时,Matlab不把它与现有的轴关联,所以它创建了一个空白。现在我无法测试任何东西,因为我没有访问Matlab的权限,但是请注意,滑块的回调函数仅在释放按钮时执行,而不是在拖动按钮时执行。因此,如果侦听器对象在此回调中,它可能会生成奇怪的行为,因此请确保不包括addlistener。。。在回调函数中,但仅在Create函数中。一旦我找回我的笔记本电脑,我会尽力提供更多帮助。对不起:你好,再次感谢你,贝诺伊。我以为我应该在回调函数中添加一些代码,使其立即刷新,但不知道是create函数完成了这一任务。我将尝试看看如何使用create函数。至于问题1,我将看看如何摆脱gca。正如我所说,这很奇怪,即使没有任何gca或任何东西,它仍然会产生一个空白数字。我期待着你的下一个答复,同时我会看看我能做些什么。谢谢。嘿,这里有一个快速更新。我从另一个网站收到了一些帮助,不确定是否可以在这个网站上命名其他网站,所以我现在还不想分享,这就解决了我的问题。如果有人能告诉我是否应该分享我得到的帮助,那么如果其他人遇到同样的问题,他们可以从其他网站的帖子中获益,我可以在这里分享我的主题链接。但结果是,你是对的,我把创建侦听器放在了错误的回调下。再次感谢您的支持和帮助。