【问题标题】:How to set the labels (LabelTable) of an uicomponent slider (jslider)?如何设置一个uicomponent滑块(jslider)的标签(LabelTable)?
【发布时间】:2012-09-05 23:51:43
【问题描述】:

我使用 uicomponent 创建了一个滑块,可以在 File Exchange 上找到

handles.slid=uicomponent('style','slider',0,90,5);
handles.slid.MajorTickSpacing=10;
handles.slid.MinorTickSpacing=10;
handles.slid.Paintlabels=1;
handles.slid.PaintTicks=1;

标签最初设置为 0 10 20 30 40 50 60 70 80 90

是否可以将标签设置为a b c d e f g h i j

【问题讨论】:

标签: matlab slider label jslider uicomponents


【解决方案1】:

为此,您必须使用 Java。我能想到的最简单的方法是修改你已经创建的 JSlider Java 组件的现有 LabelTable。试试下面的代码:

labels = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'};
lt =get(hu_slider, 'LabelTable');
for i=1:10
    key = java.lang.Integer(10*(i-1));
    val = lt.get(key);
    val.setText(labels{i});
    lt.put(key, val);
end
set(hu_slider, 'LabelTable', lt);
hu_slider.JavaComponent.updateUI;

当然,它假设您有 10 个滴答声。

【讨论】:

    猜你喜欢
    • 2011-10-22
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多