Min = Max = Value = 1时的Matlab滑块

时间:2016-01-28 10:36:30

标签: matlab slider matlab-guide

我使用滑块来浏览大小动态变化的集合,很可能是1。

但如果我:

    CriteriaBuilder cb = JPA.em().getCriteriaBuilder();
    CriteriaQuery<T> cq = cb.createQuery(Pickup.class);
    Root<T> root = cq.from(Pickup.class);
    CriteriaQuery<T> all = cq.select(root);

    cq.orderBy(cb.desc(root.get("dateTime")));

滑块看起来像这样,所谓的拇指一半只要“低谷”:

wrong slider

哪个不合适,因为如果你再单击滑块的左侧,该值将被设置为零,即超出范围,滑块就会消失。

我使用了错误的属性设置吗?

(当然,每当Min = Max = 1时我都可以set(mySld, 'min', 1, 'max', 1, 'value', 1, 'sliderstep', [1 1]) ,但感觉就像是黑客攻击了。)

1 个答案:

答案 0 :(得分:0)

您可以使用侦听器检查min和/或max的值:

figure; 
% create the uicontrol
sl = uicontrol ( 'style', 'slider', 'min', 1, 'max', 1, 'value', 1, 'sliderstep', [1 1]);
% create a listener to check the value are reset appropriately
addlistener ( sl, 'Value', 'PostSet', @(obj,event)set ( sl, 'Value', max(sl.Min,  min(sl.Value,sl.Max))) );