2011-05-08 8 views
0

내 프로그램에 문제가 있습니다. 나는 GUI에서 일하고 있어요, 나는 그것이 클래스 MenuController에서이 라인 뷰를 변경할 수 없습니다자바 반환 구성 요소

currentComponent = timeRegController.getView().userRegisterTime(user); 

하지만 난 그냥 잘 작동이 비슷한 라인을 가지고있다. currentComponent 프로그램이 표시하고있는 현재의 뷰인 Component입니다.

timeRegController.getView()는 view라는 TimeRegistrationPanel을 반환합니다. 나는 다음과 같은 방법을 TimeRegistrationPanel 클래스에서

:

public Component userRegisterTime(User user) { 
     JPanel window = new JPanel(new BorderLayout()); 
     return window; 
    } 

내 프로그램이 문제가 라인에 있다고 말한다 : userRegisterTime()는 형의 구성 요소에 대한 정의되지

currentComponent = timeRegController.getView().userRegisterTime(user); 

때문이다.

답변

0

getView()가 TimeRegistrationPanel을 반환하는지 확인하십시오.

+0

대단히 감사합니다. 이제 작동합니다. – user744289

+0

이것이 해결책이라면 대답으로 받아 들여야합니다. – Dimitar

1

TimeRegistrationPanel 클래스로 반환 값을 캐스팅해야합니다.

+0

시도했습니다. currentComponent = ((Object) timeRegController.getView()). userRegisterTime (user); 및 currentComponent = (Object) timeRegController.getView(). userRegisterTime (user); 하지만 둘 다 작동하지 않습니다 ... – user744289

+1

? 왜 Object로 캐스팅을하고 있습니까? 주조가 어떻게 작동하는지 알고 있습니까? Java 자습서를 살펴보십시오. http://download.oracle.com/javase/tutorial/java/IandI/subclasses.html – Puce

관련 문제