2015-02-06 5 views
1

이상한 문제가 생겼습니다. 네트워크 출력에서 ​​새로운 출력을 얻고 싶습니다. 그리고 uitable에서 입력 값을 변경하여 새로운 출력을 얻으려면 푸시 버튼을 두 번 눌러야합니다. 나는이 문제에 대해 많은 질문을하고 아직도 정확한 대답을 얻지 못했다고 수색했다. 누구든지 내게이 문제에 대해 알아낼 수있는 아이디어를 줄 수 있습니까? 나는 내가 새로운 출력을 얻을 때까지 두 번 시뮬레이션 네트워크를 눌러야 다음 새 값으로 Satznummer을 변경하는 경우 uitable에서 예를 들어이상한 푸시 버튼 문제

t = uitable('Parent', f, 'Position', [0 60 260 400],... 
     'Data',table_data,... 
     'ColumnName',cnames,... 
     'RowName',rnames,... 
     'ColumnFormat',ColumnFormat,... 
     'ColumnEditable',ColumnEditable,... 
     'Enable','on',... 
     'Visible','on'); 

handles.pushbutton1 = uicontrol('Style','Pushbutton',... 
    'Units','Pixels',... 
    'Position',[210 470 100 30],... 
    'String','Simulate Network',... 
    'callback',@Simulate_Callback); 

enter image description here

: 여기

는 uitable의 코드입니다.

답해 주셔서 감사합니다. 감사.

+0

Satznummer를 변경 한 후 돌아 오거나 그림 안의 아무 곳이나 클릭하면 네트워크 시뮬레이트를 두 번 눌러야합니까? – Jonas

+0

omg 그게 이상하게 작동합니다 : D Thanks @Jonas;) – mari

+0

pushbutton1에 uitable과 동일한 부모를 주면 동작이 바뀌는 지 확인할 수 있습니다. – Lukeclh

답변

1

값을 편집 할 때 포커스를 편집 필드에서 그림으로 변경해야만 버튼을 누를 수 있습니다.

버튼을 두 번 클릭하면 첫 번째 클릭에서 초점이 바뀌고 두 번째 클릭에서 버튼이 활성화됩니다. 당신은 또한 반환을 명중해서, 또는 숫자의 그 외 아무 곳이나 클릭해서 숫자에 초점을 바꿀 수 있었다.

변경 초점 이벤트가 필요한 이유는 편집하는 동안 그림의 KeyPress 콜백에 바인딩 된 다른 작업을 실행하는 대신 버튼을 누르면 텍스트가 나타나거나 사라지는 결과를 초래한다는 것입니다. 또한 포커스를 변경하면 테이블의 콜백이 실행됩니다.