2014-03-01 1 views
0

axes1, axes2, axes3 축을 가진 GUI를 만들었습니다.Matlab GUI : 현재 축을 설정하면 새로운 그림이 생성됩니다.

a=SP(handles.axes1,handles.axes2,handles.axes3) 

클래스는 내가 타이머 기능을

function timerfcn1(~,~,A) 
    axes(A.axes1); 
    rectangle('Position',[randn,randn,randn,randn]); 
    axes(A.axes2); 
    rectangle('Position',[randn,randn,randn,randn]); 
    axes(A.axes3); 
    rectangle('Position',[randn,randn,randn,randn]); 
end 

내 문제를 작성했습니다

class SP < handles 
    properties 
     axes1 
     axes2 
     axes3 
    end 
    methods 
     function A=SP(axes1,axes2,axes3) 
      A.axes1=axes1; 
      A.axes2=axes2; 
      A.axes3=axes3; 
      axes(A.axes1); 
      rectangle('Position',[randn,randn,randn,randn]); 
      axes(A.axes2); 
      rectangle('Position',[randn,randn,randn,randn]); 
      axes(A.axes3); 
      rectangle('Position',[randn,randn,randn,randn]); 
     end 

과 같은 : 나는 누구의 생성자는 다음과 같이 내가 세 축 합격 클래스 SP이 그것은 초기화하는 동안, 즉 내가 생성자를 호출 할 때, 사각형들이 GUI 윈도우에 그려진다. 그러나 timerfcn1이 실행될 때마다 새 그림이 만들어지고 그 안에 사각형이 그려집니다.

나는 이전과 비슷한 것을 사용 했었고 그때까지는 사용했습니다.

+0

이 코드를 실행할 수 없습니다를 사용하여 존재하는지 확인해야합니다! – Mohammad

+0

코드를 편집 할 수 있도록 코드를 수정하십시오. 그러나 나는 어떻게 gui를 보여야합니까 –

답변

0

표시되지 않은 코드 부분에서 가시성 (또는 부족)을 처리하는 것과 관련이 있습니다. 이 전에, 사각형은 사용하고자하는 축에가는 것을

rectangle('Position',[...],'Parent',A.axes1) 

을 보장하기 위해 당신은 또한 핸들이 여전히

if ishandle(A.axes1) 
... 
end 
+0

그것이 효과가 있습니다! 고마워요! –