文本输入的选择回调

Selection Callback for text input

我正在使用 MATLAB GUIDE 构建一个 GUI 来控制一个硬件。我有一个数据 table 用户需要填写,每次他们 select 一个单元格都会向硬件发送一个新配置。使用 CellSelectionCallback().

很容易做到这一点

不过,我还有一个参考值,目前正输入到 edit 文本框中。我希望 GUI 在用户 select 文本框输入新值之前向硬件发送新配置。是否有类似的 SelectionCallback 功能可用于文本框?我想到的最佳解决方案是创建一个 1x1 table 而不是编辑框。

您最好的选择是使用 Java 控件,因为标准 MATLAB uicontrol 没有焦点回调。您可以使用 JTextField 对象,使用 javacomponent 将其添加到您的 GUI,然后注册 FocusGainedCallback.

jtext = javax.swing.JTextField();
jtext.setHorizontalAlignment(javax.swing.JTextField.CENTER);

% Add the control to your GUI
htext = javacomponent(jtext, [10 10 200 10]);

% Register a callback to be executed when the box is selected
set(htext, 'FocusGainedCallback', @yourCallback)