이클립스 IDE 제품을 362에서 422로 마이그레이션하려고합니다. WorkbenchWindow가 더 이상 ApplicationWindow에서 파생되지 않으므로 캐스트 캐스트 예외를 throw하는 아래 코드 줄이 있습니다. 이클립스 4.x 용.Eclipse 4.x의 org.eclipse.jface.window.ApplicationWindow에 대한 대체
ICoolBarManager coolBarMgr = ((ApplicationWindow) 창) .getCoolBarManager();
예외 : java.lang.ClassCastException가 : org.eclipse.ui.internal.WorkbenchWindow 나는 RCP 응용 프로그램에 대한 선 아래로 사용할 수 있습니다
해결 방법으로을 org.eclipse.jface.window.ApplicationWindow 캐스팅 할 수 없습니다 org.eclipse.ui.application.WorkbenchWindowAdvisor를 확장합니다.
ICoolBarManager coolBarMgr = getWindowConfigurer(). getActionBarConfigurer(). getCoolBarManager();
하지만 이클립스 IDE (rcp 아님)를 사용하면 org.eclipse.ui.application.WorkbenchWindowAdvisor를 확장하는 플러그인이 없어 어디서나 해결 방법이 도움이되지 않는다.
많은 코드 변경없이 getWindowConfigurer()를 사용하지 않고 ICoolBarManager를 얻으려면 대체 솔루션에 대한 제안 사항을 제공해 주시겠습니까? 또는 다른 방법으로 org.eclipse.ui.application.WorkbenchWindowAdvisor를 확장하지 않는 다른 플러그인의 getWindowConfigurer()를 사용할 수 있습니까?
도움이 될 것입니다. 미리 감사드립니다.
고맙습니다. 이것은 실제로 작동하지만 메서드 사용은 권장하지 않습니다. 낙심 한 방법이나 수업을 사용했을 때의 결과는 무엇인지 알 수 있습니까? 또한, 당신이 도움이 될 것이라고 제안한다면 어떤 대안. 다시 한번 감사드립니다. –
내부 클래스는 언제든지 변경 될 수 있습니다. 어떤 버전이든 코드가 손상 될 수 있습니다. 원래의 메소드는 워크 벤치 윈도우가 확장 된 ApplicationWindow가 당신이 의존하면 안되는 구현 세부 사항이기 때문에 규칙을 어기고 있었다. [Eclipse API 규약 규약] (https://www.eclipse.org/articles/Article-API-Use/index.html) –
귀중한 의견을 보내 주셔서 감사합니다. –