2016-12-07 1 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) 
관련 문제