问题标签 [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.

0 投票
2 回答
788 浏览

java - 如何从 MATLAB 代码中捕获 java 异常

当我调用myFunction(test)它时,它会正确运行,但会引发 java 异常

我想捕捉它和/或捕捉任何java异常。

我试过了 :

但它mess是空的......我怎么能检查它myFunction没有捕获任何java异常?

0 投票
1 回答
161 浏览

java - MATLAB:访问 uigetdir 的内部 java 方法

当使用 MATLAB uigetdir 中的标准 dir 对话框时,双击一个目录会导致对话框进入该目录并显示其内容。要实际选择它,您必须单击“选择目录”按钮。

我想要的是一种在双击目录时添加特定规则的方法:基本上,我想更改/覆盖与此操作关联的内部“方法/回调”。

问题是,所说的对话框不是您通常的 Matlab 图 - 我知道如何轻松完成(检索句柄,查看属性并编辑/修改相应的回调)。这看起来像一个原始 Java 对象,我找不到从 Matlab 访问此信息的方法。

谢谢你的帮助。

0 投票
2 回答
903 浏览

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 组件通常使用 anActionMap来存储Actions由侦听器在鼠标、键盘、属性或容器事件上调用的可运行对象。与对象方法不同,ActionsMATLAB 不能直接调用。

然后解释了一种解决方法,大致涉及:获取某种Action对象;创建一个ActionEvent并调用Action'sactionPerformed 作为ActionEvent参数,如下实现:

这段代码运行没有错误——但(似乎?)什么也没做。我怀疑我正在调用错误的对象(可能ActionEvent与这个问题完全无关)。actionPerformedActionManager


附言

我知道有一个热键可以做到这一点(Ctrl+ =),但这不是我想要的(除非有一个命令来模拟热键按下:))。

0 投票
1 回答
443 浏览

java - Matlab 重新编译时看不到 java 类的变化

我使用 Matlab 并尝试从中启动 java 类。所以我将java类的路径添加到classpath.txtMatlab中。然后我创建了一个 java 类的对象,HelloWorld它完美地工作:

但是,当我Helloworld更改Helloworld.

有没有办法强制 Matlab 在Helloworld不重新启动的情况下查看更改?

0 投票
1 回答
1671 浏览

matlab - 使用多个 popupmenues 不同行的 uitable

要生成一个 ui 表,我正在使用 GUIDE。要将弹出菜单插入到 ui 表中,我使用以下代码(例如):

然后我将在 ui 表的每一行中获得相同的弹出菜单。但我希望在 ui-table 的不同行中有不同的弹出菜单,如下图所示。

http://images.undocumentedmatlab.com/uitable_lookup.png

0 投票
1 回答
258 浏览

java - MATLAB JA 生成器

当我在 Netbean 中运行该程序时,它显示以下消息。我能做些什么来解决这个问题?

线程“AWT-EventQueue-0”java.lang.UnsatisfiedLinkError 中的异常:无法在 java.library.path 上找到 MATLAB Builder JA 所需的库 mclmcrrt7_17.dll。

此库通常与 MATLAB 或 MCR 一起安装,它的缺失可能表明该安装或当前路径配置存在问题。该组件尝试使用的 MCR 版本是:7.17。

0 投票
3 回答
4280 浏览

matlab - 在 Matlab 中从命令行运行特定的单元格部分?

我在脚本中手动循环遍历 Matlab 中的各个单元格(我们称之为 foo.m):

从 Matlab 的命令行,我希望能够有选择地运行单元格 2 中的代码。文档仅包含有关如何以交互方式执行此操作的说明(例如,将光标放在适当的单元格中,然后等等等等)。我想要一些命令行的东西,这样我就可以执行 foo.runCell(1) 之类的操作来运行上面单元格 1 中的代码。

如果没有办法,我只会将单元格拆分为单独的脚本/函数。这不太方便,因为我处于“非常快速地制作原型”的编码模式,所以现在想要一个文件中的所有内容。

0 投票
1 回答
764 浏览

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 字体的情况,因为我需要一个等宽字体来达到我的目的。

0 投票
1 回答
32 浏览

java - MATLAB:读取返回的 java 对象数组

我有一个自定义 java 对象,它返回一组Thingjava 对象。如何在 matlab 中将返回的数组转换为 java 对象并对其进行迭代?目前,看起来返回的数组并未被视为 java 对象。

在我的 MATLAB 代码中,我有:

调用isjava(ans(1))返回 0(isjava(ans)虽然返回 1)。那么我如何正确使用的结果,getThings()以便我可以使用ans(1).getX()等?

0 投票
0 回答
491 浏览

matlab - 从 Matlab 调用 Java 很慢

我正在使用系统函数从 Matlab 调用一个 jar 文件。像这样:

当我直接通过 CLI 运行 jar 文件时,它在不到 1 分钟的时间内运行起来就像一个魅力。

但是,当我使用系统函数从 Matlab 调用它时,运行大约需要 10 分钟!

关于如何解决这个问题或缓慢原因的任何想法?