2010-03-01 9 views
0

좋아, (작성하지 않은) RCP 애플리케이션과 SWT를 사용하여 개발 한 애플리케이션이 있습니다. 내가하고 싶은 일은 기본적으로 다른 프로세스처럼 다른 창에서 실행되도록 인수를 사용하여 SWT 애플리케이션의 기본 메소드를 가져 와서 실행하는 것입니다. 필자가 전달하고자하는 인자는 직렬화하고 싶지 않은 복잡한 데이터 구조이다.RCP 앱에서 SWT 창/프로세스 시작하기

원래 SWT 응용 프로그램을 라이브러리로 만들고 가져오고, 쉘을 생성해야한다고 생각했지만, SWT 응용 프로그램의 메인 루프가 메인 스레드에서 어떻게 실행되어야하는지 생각하지 않았습니다. 문제가있는 것 같습니다. 그래서 이클립스 플러그인 아키텍처와 통합하기 시작했다. 문제 : Eclipse Plugin 아키텍처 나 RCP에 대해 전혀 몰라요. 배우려고 할 때, 제가하고 싶은 일과 완전히 다른 (즉, Eclipse Workbench에 새로운 버튼을 빌드하는) . 어떻게하면 다른 창을 시작하는 플러그인을 개발할 수 있습니까?

답변

1

응용 프로그램을 시작하려면 일종의 버튼이 필요하므로 Eclipse 메뉴 시스템에 연결해야합니다.

시도 :

이클립스 파일에서

1) -> 새 프로젝트 -> 플러그인 프로젝트

2)

"이 플러그인이 UI에 기여를 할 것"을 체크해야합니다

3) 선택을 취소합니다 당신이 그것을

4) 필요하지 않습니다 때문에 "활성을 생성"당신은 같이해야합니다 코드 템플릿 이제

에서 "안녕하세요 명령"을 선택 RCP 애플리케이션에서 사용하고있는 디스플레이로 SWT 애플리케이션을 호출 할 수있는 execute 메소드가있다. void main (String [] args)을 반드시 호출해야한다면 Display.getDefault()를 호출하여 디스플레이를 가져올 수 있습니다. Display.getDefault()는 새로운 디스플레이를 만들거나 RCP 응용 프로그램의 디스플레이를 사용합니다.

또한 RCP 응용 프로그램의 올바른 메뉴를 가리 키도록 plugin.xml 파일을 수정해야합니다. 실행 명령을 파일 메뉴 등에 넣으려면

마지막으로 프로젝트를 마우스 오른쪽 단추로 클릭하고 내보내기 -> 플러그인 개발을 선택하고 실행기가있는 jar 파일을 만듭니다. jar 파일을 RCP 응용 프로그램의 plugins 폴더에 복사하면 방금 작성한 명령에서 SWT 응용 프로그램을 시작할 수 있습니다.

아마 도중에 몇 가지 충돌이있을 수 있지만 대략해야 할 일입니다.