findjobj—找到java Matlab图形对象的句柄

找到java对象包含在指定的java容器或Matlab GUI处理

47.2 k下载

更新2021年8月17日

查看许可协议

找到所有java对象中包含一个java容器或Matlab GUI处理
如果没有指定输出参数,然后一个交互式GUI窗口的树形视图将显示所有容器组件,它们的属性和回调。
语法:
(处理水平,parentIds,清单]= findjobj(容器,PropName, PropValue (s),…)
输入:
-容器-可选的GUI处理。如果unsupplied将使用当前的图
——PropValue PropName”——可选列表对大小写不敏感的属性。PropName也可能叫-PropName。
金宝app支持的属性:
——“位置”——根据这些元素筛选搜索结果包含指定的X, Y坐标或java元素
注:指定一个Matlab位置(X, Y =像素从左下角),不是一个java的一个
-“大小”过滤结果根据指定的这些元素W H(像素)
——“类”——根据这些元素筛选搜索结果包含子字符串(或java类)PropValue
注意:过滤是不分大小写,依赖于regexp,所以你可以通过通配符等等。
——“属性”——过滤结果基于元素拥有指定的不区分大小写的字符串属性或属性值的单元阵列格式:{“propName”、“propValue”}。例如:findjobj (…,'property', {'Text','click me'})
——“深度”——基于指定的深度过滤结果。0 =顶级Inf =所有级别(默认=正)
-‘平’一样:“深度”,0
——“不”否定以下过滤器:“不”,“类”、“c”返回所有元素除“c”类
——“存在”——保存图组件信息,允许更快的后续调用的结果
-“打印”显示所有java元素的分层列表
注一:可选PropValue元素的索引或处理java容器
注2:通常这个选项被放在最后,毕竟过滤是完整的。
一样——“列表”“打印”
输出:
——处理——处理java元素的列表
-水平相应的java元素层次结构级别的列表(顶部= 0)
- parentIds列表的索引(在过滤处理)的父容器相应的java元素
-清单结果“打印”/“列表”选项(空如果“打印”/“列表”不明)
示例用法:
> > hButton = uicontrol(“字符串”,“点击我”);
> > jButton = findjobj (hButton nomenu);%或:jButton = findjobj(“财产”,{‘文本’,点击我的});
> > jButton.setFlyOverAppearance (1);
> > jButton.setCursor (java.awt.Cursor.getPredefinedCursor (java.awt.Cursor.HAND_CURSOR));
> >设置(jButton FocusGainedCallback, @myMatlabFunction);% 30回调点可用…
> > jButton.get;%列出所有的属性…
> > hEditbox = uicontrol(“风格”,编辑”);
> > jEditbox = findjobj (hEditbox nomenu);
> > jEditbox.setCaretColor (java.awt.Color.red);
> > jEditbox。KeyTypedCallback = @myCallbackFunc;%更多的回调这个来自哪里…
> > jEdit.requestFocus;
(更多的例子在公用事业的帮助部分)
已知问题/限制:
——目前无法处理多个容器对象——只是一次
——初始处理有点慢当图拉登与许多UI组件(这样更好地利用“存在”)
——通过一个容器Matlab处理是目前发现的位置+大小:应该找到一个更好的方法来做这个
——标签有一个只写文本属性在java中,所以不可能发现使用“财产”,{'文本','字符串'}符号
技术描述:
* https://UndocumentedMatlab.com/articles/findjobj-find-underlying-java-object
* https://UndocumentedMatlab.com/articles/findjobj-gui-display-container-hierarchy
警告:
这段代码严重依赖于Matlab无文档记载和不支持的功能。金宝app它作用于Matlab 7 +,但用在你自己的风险!
错误和建议:
请发送Yair奥特曼(altmany gmail。com)
参见:
java、处理findobj findall

引用作为

实验后奥特曼(2023)。findjobj—找到java Matlab图形对象的句柄(//www.tatmou.com/matlabcentral/fileexchange/14317-findjobj-find-java-handles-of-matlab-graphic-objects), MATLAB中央文件交换。检索

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

社区寻宝

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

开始狩猎!
版本 发表 发布说明
1.53.0.1

更新findjobj_fast:支持桌面&图处金宝app理,隐藏JavaFrame弃用警告,警告处理改善(感谢t·卡彭特)

1.53.0.0

解决了在R2019b警告标识;删除javacomponent警告;添加促销信息

1.52.0.0

额外R2018b修复;添加单独的findjobj_fast效用

1.51.0.0

修复R2018b建议的埃迪(FEX);加速建议由马丁·莱曼(FEX);如果试图使用uifigure警报

1.50.0.0

固定两个边界情况(一个h·科赫的建议)

1.49.0.0

在旧Matlab版本固定边界情况;稍微进一步提高性能

1.48.0.0

提高性能的最常见的用例(单输入/输出):代码+允许检查大的改善

1.47.0.0

显著提高性能的最常见的用例(单输入/输出)

1.27.0.0

固定停靠图

1.26.0.0

区分重叠的控制(例如在不同的标签)

1.25.0.0

额外的修复R2014a R2014b

1.24.0.0

修复了R2014b

1.23.0.0

小R2014a修复;看不见图的容器来处理;只检查更新FEX版本在没有部署的模式,只有每12小时一次

1.22.0.0

附加为即将到来的HG2修复

1.21.0.0

为即将到来的HG2修复;固定HG-Java警告

1.20.0.0

固定的回调表分组&编辑错误;隐藏属性添加到属性提示;帮助更新部分

1.19.0.0

改进的回调表;改善出口工作区;固定树刷新失败;固定:树节点选择不更新道具面板和flash选定的组件

1.18.0.0

修复R2012a以及一些年长的Matlab版本

1.17.0.0

固定的文件是空的消息在编译应用程序

1.16.0.0

解决建议病房;修复R2011a和R2010b;固定的下载(m文件= >压缩文件)

1.14.0.0

小修理支持组合框(又名拉,金宝app弹出菜单)在Windows

1.13.0.0

重要的释放:修复R2010a,调试清单,未找到对象、组件容器应该被忽略等。

1.12.0.0

迫使美国重新绘制之前加工;警告如果请求的处理是无形的

1.11.0.0

修正显示文本标签在HG的层次结构

1.10.0.0

固定uitreenode警告;找到一种方法来显示标签文本相关的节点名称旁边

1.9.0.0

固定auto-collapse无形的容器节点;添加动态树工具提示和上下文菜单;轻微的修复版本检查显示

1.8.0.0

解决Matlab 7.0建议由奥利弗·W;小GUI修复(名称字体);固定失踪JIDE表的边界情况

1.7.0.0

增加了对未来金宝app的Matlab版本的支持,不支持JavaFrame;添加为轴项目健康检查;添加“调试”输入参数;增加了尺寸公差1 px = > 2 px

1.6.0.0

固定位置的popupmenus(总是20 px高尽管报道通过Matlab…);固定uiinspect处理问题;添加博客链接;狭义的操作按钮;自动的nomenu uicontrol输入;显著的性能改进

1.5.0.0

一些Java组件的固定位置;固定属性提示;固定节点可见性指标

1.4.0.0

表示组件的可见性(& auto-collapse后容器);auto-highlight选定的组件;固定节点图标,图标题&树刷新;改进的错误处理;如果可用显示FindJObj版本更新描述

1.3.0.0

固定更新检查;添加专用标签图标;固定的描述

1.2.0.0

固定与先前的Matlab版本兼容性问题;更新后的截图

1.1.0.0

回调表修复;更好的对象检查;根据新FEX网站修复更新检查;R2008b兼容性;固定小虫子按约翰尼·史密斯的评论

1.0.0.0

固定边界情况与类属性提示问题;如果使用现有对象图标可用;添加复选框选项隐藏标准的回调