1

我创建了一个滑块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

是否可以将标签设置为abcdefghij

4

1 回答 1

2

为此,您将不得不使用 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 个滴答声。

于 2012-09-13T06:58:07.523 回答