1

File Exchangeuicomponentにあるスライダーを作成しました

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 に答える