两个旋钮滑块GUI或应用程序

116(30天)
Raptrick
Raptrick 2018年1月26日
回答: Marek Svoboda 2020年2月10日
你好,
解决时间事件的我需要一个滑块有两个旋钮,见图片来自互联网。任何建议或技巧如何实现这个(UIspace)有效的matlab实现UI或应用程序。现在有两个滑块:一个最小值和一个最大值的值。这不是这些滑块空间有效地当你需要10对。
谢谢,
帕特里克
1评论
亚当
亚当 2018年1月26日
如果你想去一个小“失去控制”,您可以使用一个Java滑块范围详细Yair奥特曼的博客文章:
我用这些几次。我创建了一个类来处理它,但是你可以把原始代码的单一使用也非常容易。

登录置评。

接受的答案

Raptrick
Raptrick 2018年1月28日
亚当和彼得。感谢你的建议。我建立下面的代码,有一些麻烦找到RangeSlider的位置属性。这是我所需要的东西……
帕特里克
函数tryoutrangeslider2
标签= {“1月”,“2”,“3”,“4”,“可能”};
分钟= (1 1 1 1 1);
max =(31日28日31日30日31日);
高频=图;
i = 1:长度(标签)
%更直接实例化
%青年队= com.jidesoft.swing.RangeSlider (0100, 70);%最小,最大,低,高
% (jRangeSlider {}, hRangeSlider{我}]= javacomponent(青年队,[0,0200,80],高频);% posx,花束,宽度、高度
青年队= com.jidesoft.swing.RangeSlider;
我[jRangeSlider {}, hRangeSlider{我}]= javacomponent(青年队,[],高频);
%修改rangeslider位置
集(hRangeSlider {},“位置”(100年11 +(张)* 80200,80])
%修改滑块范围属性
集(jRangeSlider {},“最大”马克斯(我),
“最低”分钟(我),
“LowValue”10
“HighValue”,20岁,
“名字”{我},标签,
“MajorTickSpacing”5,
“MinorTickSpacing”,1
“PaintTicks”,真的,
“PaintLabels”,真的,
“StateChangedCallback”,{@jRangeSlider_Callback,我});
%添加文本标签
uicontrol(高频,“风格”,“文本”,“位置”[5日,53 +(张)* 80100,15),“字符串”{我}),标签
结束
结束
函数jRangeSlider_Callback (jRangeSlider事件,我)
disp ([jRangeSlider.Name“附加参数=”num2str(我)))
结束
%
1评论
Royi Avital
Royi Avital 2018年7月27日
有办法创建3按钮滑块呢?

登录置评。

更多的答案(2)

彼得•库克
彼得•库克 2018年1月26日
编辑:彼得•库克 2018年1月26日
我自己有沾染这几次。正如亚当所提到的,您可以使用滑块范围,但如果你想要多个拇指?你有选择。
1。使用多个拇指。这里有一个例子我沙箱一会回来:
hFig1 =图(“pos”(64、64768128));
hFig1。工具栏=“没有”;
hFig1。菜单条=“没有”;
hFig1。Name =“选择在赫兹频率范围(s)”;
hFig1。NumberTitle =“关闭”;
输入sliderWidth = 32;
k = 1:20
jSlider {k} = javax.swing.JSlider;
jSlider {k} .setOpaque(假);
javacomponent (jSlider {k},(输入sliderWidth * (k - 1), 32岁,1.5 *输入sliderWidth 45]);
sliderMin = 2 * (k - 1);
sliderValue = 2 * k - 1;
sliderMax = 2 * k;
集(jSlider {k},“价值”sliderValue,
“MajorTickSpacing”,1
“PaintLabels”,真的,
“PaintTicks”,真的,
“最低”sliderMin,
“最大”,sliderMax);
hjSlider {k} =处理(jSlider {k},“CallbackProperties”);
hjSlider {k}。StateChangedCallback = @ (hjSlider eventData) disp (get (hjSlider,“价值”));
labelTable = java.util.Hashtable ();
sliderValueLabel = sprintf (' < html > 10 <一口> % 0.1 f < /一口> < / html > ',sliderValue / 10);
jLabel = javax.swing.JLabel (sliderValueLabel);
jLabel.setFont(属性(“Tahona”0 8));
labelTable.put (int32 (sliderValue) jLabel);
jSlider {k}。setLabelTable (labelTable);
结束
2。如果你是精明的编程&不可名状的东西,你可以扩展这个对象(colormapeditor)来满足您的需求:
com.mathworks.page.cmapeditor.CMEditView
3所示。做一个github寻找multislider。这是否为预构建的java类。
1评论
Royi Avital
Royi Avital 2018年7月27日
您的代码创建多个滑块没有一个与多个旋钮。

登录置评。


Marek Svoboda
Marek Svoboda 2020年2月10日
如果你想实现这个 程序设计师 (不支持Java),看到的金宝app 我的回答类似的问题

类别

找到更多的在使用应用程序开发应用程序设计师帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!