2016-12-07 41 views
1

我正在使用MATLAB GUIDE構建GUI來控制一塊硬件。我有一個用戶需要填寫的數據表,每次他們選擇一個單元時,新的配置就會發送到硬件。這很容易使用CellSelectionCallback()完成。文本輸入的選擇回調

但是,我還有一個參考值,當前正在輸入edit文本框。我希望圖形用戶界面在用戶選擇文本框時,但在輸入新值之前,向硬件發送新配置。有沒有類似的SelectionCallback函數可以用於文本框?我提出的最佳解決方案是創建1x1表格而不是編輯框。

回答

1

最好的辦法是使用Java控件,因爲標準MATLAB uicontrol沒有焦點回調。您可以使用一個JTextField對象,將其添加到您的GUI,使用javacomponent,然後註冊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)