matlab / java slider" Maximum"的解决方法1,000,000个错误? (导致踩踏不好)

时间:2015-03-22 03:33:46

标签: java matlab slider

ADDENDUM - 相同的代码适用于#items< 1000000.我尝试缩放数据,以便滑块的最小值和最大值是我在下面显示的值的十分之一,因此< 1,000,000(java属性最大值)。它没有解决问题。我只能收集1,000,000 java max值与增量数与实际值之类的内容有关。

=====

长话短说。我有一个gui设置的滑块介于1和1841867之间。相关的Matlab滑块手柄属性是:

SliderStep = [5.42928e-07 2.71464e-06]
Max = [1.84187e+06]
Min = [1]

这是设置为产生1:

的小增量(根据滑块左/右箭头)
SliderStep(1)*(1841867-1) == 1

然而,当我尝试使用箭头从11000增加到11001时,我得到一个滑块值5973 所以,我在滑块回调中设置了一个断点,并确认滑块的值实际上是5973.在引擎盖下,我获得了滑块的底层java对象:

jScrollBar = findjobj(handles.slFrame) 

jScrollBar是一个包含两个java句柄的数组,第二个是:

javahandle_withcallbacks.com.mathworks.hg.peer.SliderPeer$MLScrollBar

它具有最大属性,奇怪的是它是1,000,000,即

get(jScrollBar(2), 'Maximum') ==1000000

结果

SliderStep(1)*(1000000-1)*11001== 5.9727e+03

接近“搞砸”值5973(vs 11001)的方法是巧合。

所以,我尝试将java属性设置为我的值1841867(创建滑块时不应该这样做,我给它的Max属性值为1841867,如Matlab滑块手柄所示!) 。

set(jScrollBar(2),'Maximum',1841867)

然后我做了一个相同的java句柄,它显示了我的新值。精彩。

不幸的是,当我再次使用滑块时,值仍然是5973,并且上面的java句柄对象的默认值已经重置(重新处理?)到1,000,000。

是否有人有方法或神奇的调用让Matlab(?)停止重置/重新定义最大值为1,000,000?

0 个答案:

没有答案