RCP 기동할때 화면을 최대화 해서 구동하기 위해서는 소스 한줄 만 추가 하면된다.

configurer.getWindow().getShell().setMaximized(true); <- 이거 한줄만 추가하면 OK

그러나 그 기쁨도 잠시 똑같이 했다고 했는데 잘안된다.

복사해 붙여넣기 하면 되겠지하고 실행을 해보면 실행할때 화면이 최대화 되지않고 초기설정한 사이즈로 화면이 열린다.

왜그럴까? 난 똑같이 했는데.... 그러나 자세히 보니 똑같이 한게 아니였다.

메소드 명이 틀려있었다.

샘플소스로 자동으로 만들면 아래와같이 자동으로 소스가 만들어진다.

capture.png

위소스 내용을 실행시키면 아래와 같이 화면 사이즈가 초기 설정한 400*300으로 표시

capture02.png

추가하여야할 메소드는preWindowOpen()가 아니라  postWindowOpen()입니다.

 preWindowOpen()하고 비슷하게 보여 preWindowOpen()메소드에 추가하고 왜 안될까 하고 있었다. ㅡㅜ

메소드 preWindowOpen()의 이름을 postWindowOpen()으로 바꾸고 configurer.getWindow().getShell().setMaximized(true);을 추가하면 OK

capture01.png

위 소스 내용을 실행시키면 초기 설정과 관계없이 화면 사이즈를 아래와 같이 최대화해 표시해준다.

capture03.png

참고로 preWindowOpen()에 configurer.getWindow().getShell().setMaximized(true);를 추가하면 소스 에러는 나지 않지만, 실행시킬때 NullPointerException에러가 발생한다.

preWindowOpen()가 불려질때에는 Shell이 Null로 들어있습니다.

감사합니다.