图片缩略图

查找Matlab图形对象的java句柄

version 1.53.0.1 (183 KB) by 实验后奥特曼
查找包含在指定java容器或Matlab GUI句柄中的java对象

46.3 k下载

更新2021年8月17日

查看许可协议

查找java容器或Matlab GUI句柄中包含的所有java对象
如果没有指定输出参数,那么将显示一个交互式GUI窗口,其中包含所有容器组件、它们的属性和回调的树视图。
句法:
(处理水平,parentIds,清单]= findjobj(容器,PropName, PropValue (s),…)
输入:
- container -可选的GUI句柄。如果未提供,则使用当前的数字
- 'PropName',PropValue -可选的不区分大小写的属性对列表。PropName也可以命名为-PropName。
万博1manbetx支持的属性:
- “位置” - 基于包含指定X,Y位置或Java元素的这些元素的筛选结果
注意:指定一个Matlab位置(X,Y =从左下角的像素点),而不是一个java位置
- “尺寸” - 基于具有指定W,H(以像素为单位)的元素的结果过滤结果
- 'class' -基于包含子字符串(或java类)PropValue的元素过滤结果
注意:过滤是不区分大小写的,依赖于regexp,所以你可以传递通配符等等。
- '属性' - 基于具有指定案例不敏感属性字符串的元素的筛选结果或具有单元格数组格式的属性值:{'propname','propvalue'}。示例:findjobj(...,'属性',{'text','单击我'})
- “深度” - 基于指定深度的筛选结果。0 =顶级,INF =所有级别(默认= INF)
- 'flat' -同:'depth',0
'not','class','c'返回除类'c'以外的所有元素
- '持久性' - 持续图形组件信息,允许随后调用的更快的结果
- 'print' -在一个分层列表中显示所有Java元素
Note1:Element索引或句柄的可选预押符到Java容器
注2:通常情况下,这个选项会放在最后,在所有过滤完成后。
- '列表' - 与“打印”相同
输出:
- handles - Java元素的句柄列表
- level -对应Java元素层次结构级别的列表(top=0)
- 父级 - 相应Java元素的父容器的索引(在未过滤句柄中)列表
- listing - 'print'/'list'选项的结果(如果'print'/'list'未指定则为空)
示例用法:
>> Hbutton = UIControl('string','点击我');
>> JButton = FindJobj(HButton,'Nomenu');%或:jbutton = findjobj('property',{'text','点击我'});
>> jbutton.setflyoverappearance(1);
> > jButton.setCursor (java.awt.Cursor.getPredefinedCursor (java.awt.Cursor.HAND_CURSOR));
> >设置(jButton FocusGainedCallback, @myMatlabFunction);%大约30个回调点可用…
> > jButton.get;%列出所有可更改属性…
>> Heditbox = UIControl('style',编辑');
>> jEditbox = findjobj(hEditbox,'nomenu');
> > jEditbox.setCaretColor (java.awt.Color.red);
>> jeditbox.keytypedCallback = @mycallbackfunc;来自来自哪里的数量增加的回调......
> > jEdit.requestFocus;
(在实用程序的帮助部分有更多示例)
已知问题/限制:
-当前不能处理多个容器对象-一次只能处理一个
-当图中有很多UI组件时,初始处理有点慢(所以最好使用“persist”)
- 传递容器Matlab手柄当前发现位置+大小:应该找到更好的方法来做这件事
-在java中,标签有一个只写的文本属性,所以不能使用'property',{' text ','string'}符号找到标签
技术说明:
* https://UndocumentedMatlab.com/articles/findjobj-find-underlying-java-object
* https://UndocumentedMatlab.com/articles/findjobj-gui-display-container-hierarchy
警告:
此代码严重依赖于未记录和不支持的MATLAB功能。万博1manbetx它适用于Matlab 7+,但使用您自己的风险!
错误和建议:
请发送给Yair Altman (altmany at gmail dot com)
参见:
Java,句柄,findobj, findall

引用作为

Yair Altman(2021年)。查找Matlab图形对象的java句柄(//www.tianjin-qmedu.com/matlabcentral/fileexchange/14317-findjobj-find-java-handles-of-matlabic-objects),Matlab中央文件交换。检索到

MATLAB版本兼容性
创建R14SP3
兼容任何释放
平台的兼容性
窗户 macOS Linux

社区宝藏狩猎

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!