如何设置uicomponent滑块(jslider)的标签(LabelTable)?

时间:2012-09-12 22:29:21

标签: matlab slider label jslider uicomponents

我使用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

1 个答案:

答案 0 :(得分: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个刻度。