2015-01-19 3 views
0

마법사 대화 상자로 작업하고 있습니다.JFace 대화 상자를 백그라운드로 보내거나 최소화하는 방법은 무엇입니까?

사용자가 배경을 클릭하여 상호 작용할 수 있어야합니다 (제 경우에는 플러그인 작성 이후 이클립스 편집기입니다).

그러나 배경은 항상 잠겨있어 초점을 맞추지 못합니다. 마법사 대화 상자를 완전히 닫지 않고이 속성을 비활성화하고 배경에 액세스하는 방법이 있습니까? 편집기에서 몇 가지 일을 마친 후에는 마법사로 돌아가서 작업을 완료 할 수 있어야합니다.

답변

4

Eclipse에서 찾기/바꾸기 대화 상자와 같이 응용 프로그램을 차단하지 않도록 '모덜리스'대화 상자를 만들 수 있습니다.

Dialog에 대한 생성자에서 전화

setShellStyle(getShellStyle()^SWT.APPLICATION_MODAL | SWT.MODELESS); 

setBlockOnOpen(false); 

이 작업을 수행합니다.

+0

감사! 생성자 외부에서이 작업을 수행 할 수 있습니까? 나를 위해 대화 상자를 생성하는 리펙토링 마법사를 사용하고 있습니다. 따라서 해당 구성에 액세스 할 수 없습니다. – schrobe

+1

셸 스타일을 만든 후에는 변경할 수 없습니다. –

+3

쉘이 생성 된 후에는 쉘 스타일을 변경할 수 없지만 JFace 대화 상자는'Window # createShell()'에서만 쉘을 생성합니다. 이 메소드는 (대화 상자의 여는 방법에 따라)'Window # open()'또는'create()'에서 호출됩니다. 그러므로'open()'이 호출되지 않은 한 쉘 스타일을 변경할 수 있습니다. –