如何使用弹出菜单包括复选框吗?
49视图(30天)
显示旧的评论
接受的答案
更多的答案(3)
1月
2011年10月21日
您可以使用一个
uicontextmenu
内置的微裂纹。它可以通过左键单击任何其他
uicontrol
,比如一个按钮。的位置
uicontextmenu
应设置相对于按钮让它看起来更像一个弹出菜单:
FigH =图;
PopH = uicontextmenu (“父”,FigH);
uimenu (PopH“标签”,“不”);
uimenu (PopH“标签”,“检查”,“检查”,“上”);
ButtonH = uicontrol (“风格”,“按钮”,“位置”300年,20日,60岁,22),…
“字符串”,点击我的,…
“UIContextMenu”PopH,…
“回调”,{@showMyPopup, PopH});
函数showMyPopup (ButtonH EventData PopH)
Pos =得到(ButtonH,“位置”);
集(PopH,“位置”,(Pos (1) 2、Pos (2) 1],“可见”,“上”);
目前这是一个流行的
下来
菜单。至少它不需要调用无证功能。
0评论
丹尼尔Pantea
2020年2月6日
编辑:丹尼尔Pantea
2020年2月6日
简单的例子“CheckBoxListComboBox”用法:
f =图;
%创建CheckBoxListComboBox
jCB = com.jidesoft.combobox.CheckBoxListComboBox ({第一项的,“第二条”,第3项的,“第四项”,“第五项”,“第6项”,第7项的,“第八项”});
[hJavaCB, hJavaCBWrapper] = javacomponent (jCB, [], f);% #好吧
集(hJavaCBWrapper,…
“单位”,“像素”,…
“位置”,4460,20);
集(hJavaCB,…%修改CB属性
“ToolTipText”,…
(' < htm金宝appl >支持多个< / b > < b >选择通过<我> <字体颜色=“红色”>下拉列表< / font > < / i > +好,或者直接通过编辑(但确保的…
' < br / >正确的拼写,正是一个分号其次是至少一个空间”;“项目之间)< / html >),…
“名字”,的显示范围…
);
%的直接访问
hJavaCB.setSelectedIndices ([0, - 1, 4]);
xx = hJavaCB.getSelectedIndices ();% xx = [0, - 1, 4]
%通过模型间接访问
jModel = hJavaCB.getModel ();
深圳= jModel.getSize ();%深圳= 8
jModel.getElementAt (0);% ans = '第一项'
xx = jModel.getSelectedItem ();% ans = . lang。对象[]:“第二条”;“第五项”;“第八项”。使用元素个数(xx), strcmp (xx(1),第二项),等等
jModel.getIndexOf (“第二条”);% ans = 1
jModel.insertElementAt (“项目- 99”3);%之间插入“第3项”(pos 2)和第四项的pos (3)
jModel.addElement (“项目- 100”);%将结束
% jModel.removeAllElements ();
jModel.removeElement (第一项的);
jModel.removeElementAt (3);
jModel.setSelectedItem ([“第五项”;“第6项”;第7项的]);
hJavaCB.setFocusable(真正的);
hJavaCB.putClientProperty (“TabCycleParticipant”,真正的);%在某些情况下这可能是不必要的,但没有受伤
集(hJavaCB,…
…%处理钥匙像VK_LEFT等等
“KeyPressedCallback”{@callback_javaKeyPress},…
…%处理任何选择的改变,即使是临时的,在好的或取消!
“PropertyChangeCallback”{@callback_javaPropertyChange},…
…%处理只有最终选择更改,输入后,确定或取消……
“ActionPerformedCallback”,{@callback_javaActionPerformed}…
);
%的KeyPressedCallback hJavaCB
函数callback_javaKeyPress (h、事件)
开关event.getKeyCode ()
情况下event.VK_LEFT
性格=“左”;
否则
性格= event.getKeyChar ();
结束
%的性格、事件
结束%函数callback_javaKeyPress
%的PropertyChangeCallback hJavaCB
函数callback_javaPropertyChange (h, e)
% disp (“callback_javaPropertyChange”);
% h e
% = h.getSelectedIndices列表();%的指数是基于0,1意味着无效的字段
%流(1“callback_javaPropertyChange:”);流(1 ' % d '列表);流(1 ' \ n ');
结束%函数callback_javaPropertyChange
%的ActionPerformedCallback hJavaCB
函数callback_javaActionPerformed (h, e)
= h.getSelectedIndices列表();%的指数是基于0,1意味着无效的字段
流(1,“callback_javaActionPerformed:”);流(1,' % d '列表);流(1,' \ n ');
h e
结束%函数callback_javaActionPerformed
测试2017和2020…
1评论
Ganesh奈克
2021年12月16日
你好丹尼尔感谢美妙的工具。在运行代码使用Matlab 2021年一个版本给我以下警告:
警告:JAVACOMPONENT将在未来的版本中被删除。更多信息在mathworks.com看到MATLAB应用程序UI的替代品。
在javacomponent >(第85行)
在Popup_Checkbox(4号线)
我试图找到alterantive使用以下网站
你能请让我知道是否我需要处理UIfigure呢?