부모/자식 대화 상자의 작동 방식을 실제로 이해해야합니다.SWT - 상속 상위 대화 상자?
내 사용자는 Teamcenter라는 OTB 애플리케이션을 사용합니다. Teamcenter 응용 프로그램의 메뉴 선택에서 호출되는 응용 프로그램에 대한 추가 기능을 작성하고 있습니다.
메뉴 항목을 클릭하면 처리기 클래스가 실행되고 응용 프로그램의 기본 대화 상자가 만들어집니다.
public class AplotDialogHandler extends AbstractHandler {
private static AplotBaseDialog dlg = null;
public AplotDialogHandler() {
}// end Constructor
//////////////////////////////////////////////////////////////////////////
// execute() //
//////////////////////////////////////////////////////////////////////////
@Override
public Object execute(final ExecutionEvent event) throws ExecutionException {
if (dlg == null) {
try {
AbstractAIFApplication app = AIFDesktop.getActiveDesktop().getCurrentApplication();
TCSession session = (TCSession) app.getSession();
TCUserService userService = session.getUserService();
AplotVersion.negotiateVersion(userService);
AplotQueryCapabilities.initialize(userService);
dlg = new AplotBaseDialog(null, session);
}
catch (Exception ex) {
MessageBox.post(HandlerUtil.getActiveWorkbenchWindowChecked(event).getShell(), ex, true);
}
}
dlg.create();
dlg.getShell().setSize(700, 400);
dlg.open();
return null;
}// end execute()
}// end EdiDialogHandler()
질문 1. 내 애플리케이션이 Teamcenter 응용 프로그램과 관련이없는 것 같습니다. Teamcenter를 닫고 내 애플리케이션을 열어 둘 수 있다는 의미입니다.
질문 2. 작업 영역 쉘을 가져 와서 기본 대화 상자에 전달해야합니까? 그러나 내 애플리케이션이 열려 있어도 사용자는 Teamcenter 애플리케이션을 사용하여 애플리케이션에 보낼 데이터를 선택할 수 있어야합니다.
질문 3. 기본 대화 상자에서 대화 상자를 열 때 항상 기본을 전달해야합니까? 이러한 대화 상자에 대한 대화 상자 셸?
질문 4. 사용자가 완료 될 때 대화 상자를 닫아야하는 표준 방법이 있습니까?
어떻게 내 기본 대화 상자의 크기를 설정합니까? – jkteater
대화 상자에 getInitialSize() 메소드가 있습니다. 대화 상자의 초기 크기를 설정합니다. –