问题标签 [matlab-java]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何从 MATLAB 代码中捕获 java 异常
当我调用myFunction(test)
它时,它会正确运行,但会引发 java 异常
我想捕捉它和/或捕捉任何java异常。
我试过了 :
但它mess
是空的......我怎么能检查它myFunction
没有捕获任何java异常?
java - MATLAB:访问 uigetdir 的内部 java 方法
当使用 MATLAB uigetdir 中的标准 dir 对话框时,双击一个目录会导致对话框进入该目录并显示其内容。要实际选择它,您必须单击“选择目录”按钮。
我想要的是一种在双击目录时添加特定规则的方法:基本上,我想更改/覆盖与此操作关联的内部“方法/回调”。
问题是,所说的对话框不是您通常的 Matlab 图 - 我知道如何轻松完成(检索句柄,查看属性并编辑/修改相应的回调)。这看起来像一个原始 Java 对象,我找不到从 Matlab 访问此信息的方法。
谢谢你的帮助。
java - 如何以编程方式在 MATLAB 编辑器中执行“折叠所有折叠”?
我一直在努力解决这个问题的时间比我想承认的要长一点。
我正在尝试以编程方式执行Action
当用户单击View
>Collapse All
按钮或在编辑器窗口中右键单击然后Code Folding
>时发生的相同操作Fold All
。
到目前为止我尝试过的发现:
- 与
String
对应的Action
可以在enum
com.mathworks.mde.editor.ActionID
和 中找到:'collapse-all-folds'
。 - 当
Action
激活时,似乎执行了以下方法:(org.netbeans.api.editor.fold.FoldUtilities.collapseAll(...)
因此是 netbeans 标记)。 - 此代码允许我获取
EditorAction
,ActionManager
,的实例MatlabEditor
:
我的问题是我找不到实际激活.Action
任何想法/替代方案?
EDIT1:在“这本书”中挖掘了一下之后,我想我比以前更接近了(但仍然不完全在那里)。引用书中的一段话:
Java GUI 组件通常使用 an
ActionMap
来存储Actions
由侦听器在鼠标、键盘、属性或容器事件上调用的可运行对象。与对象方法不同,Actions
MATLAB 不能直接调用。
然后解释了一种解决方法,大致涉及:获取某种Action
对象;创建一个ActionEvent
并调用Action
'sactionPerformed
作为ActionEvent
参数,如下实现:
这段代码运行没有错误——但(似乎?)什么也没做。我怀疑我正在调用错误的对象(可能ActionEvent
与这个问题完全无关)。actionPerformed
ActionManager
附言
我知道有一个热键可以做到这一点(Ctrl
+ =
),但这不是我想要的(除非有一个命令来模拟热键按下:))。
java - Matlab 重新编译时看不到 java 类的变化
我使用 Matlab 并尝试从中启动 java 类。所以我将java类的路径添加到classpath.txt
Matlab中。然后我创建了一个 java 类的对象,HelloWorld
它完美地工作:
但是,当我Helloworld
更改Helloworld
.
有没有办法强制 Matlab 在Helloworld
不重新启动的情况下查看更改?
matlab - 使用多个 popupmenues 不同行的 uitable
要生成一个 ui 表,我正在使用 GUIDE。要将弹出菜单插入到 ui 表中,我使用以下代码(例如):
然后我将在 ui 表的每一行中获得相同的弹出菜单。但我希望在 ui-table 的不同行中有不同的弹出菜单,如下图所示。
java - MATLAB JA 生成器
当我在 Netbean 中运行该程序时,它显示以下消息。我能做些什么来解决这个问题?
线程“AWT-EventQueue-0”java.lang.UnsatisfiedLinkError 中的异常:无法在 java.library.path 上找到 MATLAB Builder JA 所需的库 mclmcrrt7_17.dll。
此库通常与 MATLAB 或 MCR 一起安装,它的缺失可能表明该安装或当前路径配置存在问题。该组件尝试使用的 MCR 版本是:7.17。
matlab - 在 Matlab 中从命令行运行特定的单元格部分?
我在脚本中手动循环遍历 Matlab 中的各个单元格(我们称之为 foo.m):
从 Matlab 的命令行,我希望能够有选择地运行单元格 2 中的代码。文档仅包含有关如何以交互方式执行此操作的说明(例如,将光标放在适当的单元格中,然后等等等等)。我想要一些命令行的东西,这样我就可以执行 foo.runCell(1) 之类的操作来运行上面单元格 1 中的代码。
如果没有办法,我只会将单元格拆分为单独的脚本/函数。这不太方便,因为我处于“非常快速地制作原型”的编码模式,所以现在想要一个文件中的所有内容。
windows - 文本“范围”属性不包含正确的大小
我想在 GUI 中放置一些文本,并且我想知道uicontrol
类型'text'
需要的确切大小!
我发现了几个线程解释这可以使用包含相同文本'Extent'
的对象的属性来完成,请参见示例:'text'
我现在的问题是这不起作用。当我运行上面的命令时,tempfunc(repmat('A',14));
我得到下图窗口:
从图中可以看出,textsize
变量中提取的文本高度太小了!
请注意,这是我在运行 Matlab R2014a 的 Windows 计算机上运行程序时得到的结果。后来我在运行 Matlab R2013b 的 Linux 机器上运行了完全相同的代码,并在那台机器上得到了我想要的结果。
我正在制作的 GUI 应该(希望)能够在任何计算机上运行,但现在我真的不知道如何继续制作适用于任何机器的版本,所以请帮助我!
编辑: 我尝试在另一台运行 Matlab R2011b(而不是我的 R2014a)的 Windows 7 机器(这次是 Ultimate 版而不是我的 Enterprise 版)上运行相同的代码,它仍然产生了错误的文本框高度 - 但这次文本框太高 - 见图片:
EDIT2: 我终于安装了 R2014b,但遗憾的是它没有帮助!我得到了一张类似的图片:
我还试图看看我的屏幕分辨率的不同选择是否有任何区别——它们没有。
编辑3:
我注意到不同的字体会产生不同的高度错误,例如默认字体(MS Sans Serif)会产生一个太高的文本框(并且随着添加更多行,这种高度错误也会增加) - 但是在 Linux 上我我尝试的所有字体都得到了正确的结果。
但实际上我最感兴趣的情况是使用 courier 字体的情况,因为我需要一个等宽字体来达到我的目的。
java - MATLAB:读取返回的 java 对象数组
我有一个自定义 java 对象,它返回一组Thing
java 对象。如何在 matlab 中将返回的数组转换为 java 对象并对其进行迭代?目前,看起来返回的数组并未被视为 java 对象。
在我的 MATLAB 代码中,我有:
调用isjava(ans(1))
返回 0(isjava(ans)
虽然返回 1)。那么我如何正确使用的结果,getThings()
以便我可以使用ans(1).getX()
等?
matlab - 从 Matlab 调用 Java 很慢
我正在使用系统函数从 Matlab 调用一个 jar 文件。像这样:
当我直接通过 CLI 运行 jar 文件时,它在不到 1 分钟的时间内运行起来就像一个魅力。
但是,当我使用系统函数从 Matlab 调用它时,运行大约需要 10 分钟!
关于如何解决这个问题或缓慢原因的任何想法?