2016-12-07 7 views
1

私は、MATLAB GUIDEを使用してハードウェアを制御するGUIを構築しています。ユーザーが入力する必要があるデータテーブルがあり、セルを選択するたびに新しい設定がハードウェアに送信されます。これはCellSelectionCallback()を使って簡単に行えます。テキスト入力の選択コールバック

しかし、現在、editテキストボックスに入力されている単一の参照値もあります。ユーザーがテキストボックスを選択するたびに新しい値を入力する前に、GUIがハードウェアに新しい構成を送信するようにしたいと思います。テキストボックスにも同様のSelectionCallback関数が使用できますか?私が思いついた最善の解決策は、編集ボックスの代わりに1x1テーブルを作成することです。

答えて

1

標準のMATLAB uicontrolにはフォーカスコールバックがないので、Javaコントロールを使用することをお勧めします。 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) 
関連する問題